Vue舞臺劇

?

Vue 的舞臺劇比喻 🎭(完整表格版)

Vue 結構及路由管理

Vue 結構比喻(舞臺劇)🎭作用
index.html空白場地 🏟?Vue 負責填充內容,提供 #app 容器,等待演出開始。
main.js導演 🎬組織 Vue 應用,把 App.vue 掛載到 #app,讓演出開始。
App.vue后臺演員候場室 🎭組件集合點,包含 <router-view/>,決定哪個演員(組件)上場。
router/index.js劇本 📖規定演員(組件)在什么路徑(場景)演出,即路由配置。
<router-view/>舞臺切換器 🔄根據當前路徑,展示當前應該上場的演員(組件)。
<router-link>演員門鈴 🔔用戶點擊后,Vue 負責切換到對應組件(演員)。

擴展內容:Vue 其他核心概念

Vue 概念比喻(舞臺劇)🎭作用
組件(.vue 文件)演員 🎭負責演出,每個組件代表一個角色。
props劇本臺詞 📜組件之間傳遞的數據,就像演員接到劇本臺詞。
emit演員匯報導演 🎙?子組件通知父組件某些事情發生了。
computed后臺準備好的表演 🏋?計算后的數據,只在需要時更新,提高性能。
watch舞臺監督 👀監聽數據變化,一旦變化就采取行動。
v-if / v-show演員的出場與隱藏 🎭控制組件是否顯示,v-if 是真正移除,v-show 只是隱藏。
v-for群演隊列 👥用來循環渲染多個相同類型的演員(組件)。
v-model對講機 🎤組件和用戶輸入之間的雙向綁定,用戶的輸入直接影響演員的表演。
store(Vuex / Pinia)劇團資源庫 📦管理全局狀態,多個演員(組件)可以共享資源(數據)。

最終總結

  1. Vue 是一個 SPA(單頁面應用)的舞臺劇 🎭,index.html 是舞臺,main.js 是導演,App.vue 負責調度演員(組件)。

  2. 路由管理(Vue Router) 📖 就像劇本,規定哪個演員(組件)在什么場景(路徑)上場。

  3. 組件是演員 🎭,它們可以接收道具(props)、交流(emit)、計算劇情(computed)、監聽劇情變化(watch)。

  4. Vue 的指令(v-ifv-showv-forv-model 🎬 讓舞臺劇更生動,決定演員的出場、隱藏、重復演出、互動。

  5. 狀態管理(Vuex / Pinia) 📦 就像一個大劇團倉庫,所有演員都可以取用里面的道具(數據)。

?

📌 main.js 掛載

? main.js 負責掛載 Vue 應用,把 App.vue 渲染到 index.html#app 里。

📌 Vue 掛載過程mian.js-app.vue-index.html

?1??main.js 創建 Vue 應用并掛載

jsimport { createApp } from 'vue'  // 引入 Vue 3 的創建方法
import App from './App.vue'  // 導入根組件 App.vuecreateApp(App).mount('#app')  // 創建 Vue 應用,并掛載到 index.html 的 #app

?2??index.html有一個 #app 占位符

html<body><div id="app">ddd</div>  <!-- Vue 還沒運行時,#app 只是普通的 HTML -->
</body>

3??運行vue,vue接管 #app,并用 App.vue 里的內容替換它

? ? ? ? app 變成 Vue 管理的單頁面應用(SPA)容器

html<div id="app"><img src="./assets/logo.png"><router-view/>  <!-- 這里會動態渲染不同的頁面 /ddd被替換不顯示 -->
</div>

?

📌?Vue 路由:

1、安裝路由

在 Vue 中,路由(Vue Router)是用來管理不同頁面之間跳轉的工具,它幫助你在單頁面應用(SPA)中切換不同的視圖,而不需要刷新整個頁面

npm install vue-router

? ?2、配置路由

接下來,你需要在項目中配置路由。這通常會在一個獨立的文件里,比如router/index.js

js// src/router/index.js
import { createRouter, createWebHistory } from 'vue-router';
import Home from '../views/Home.vue';
import About from '../views/About.vue';const routes = [{path: '/', //是我們項目的首頁('/' 代表網站的根路徑(即 首頁))name: 'Home',component: Home,  // 默認顯示的頁面},{path: '/about',                     //場地name: 'About',                      //場地代號或者演員的代號component: About,  // 另一個頁面   //場地對應的演員(組件)},
];const router = createRouter({history: createWebHistory(process.env.BASE_URL),routes,
});export default router; //導出路由 //是為了在mian.js導入
代碼作用
path: '/'定義首頁路徑(訪問 http://localhost:8080/ 就會顯示這個頁面)。
name: 'Home'給路由起名字,可以用 router.push({ name: 'Home' }) 方式跳轉。
component: Home告訴 Vue 這個路由應該加載 Home.vue 組件,作為首頁內容。

首頁訪問邏輯

  • 當你打開 http://localhost:8080/
    → Vue Router 會匹配 path: '/' 的路由
    → 顯示 Home.vue (首頁)

  • 如果你點擊 <router-link to="/about">About</router-link>
    → Vue Router 會匹配 path: '/about'
    → 顯示 About.vue (關于頁)

Vue 配置路由 🎭—— 場景與演員比喻

屬性比喻 🎭作用
path場地 🏟?定義這個頁面(場景)的訪問路徑,決定用戶訪問哪個 URL 時看到哪個頁面。
name場地代號 📛給路由起個代號,方便后續使用 router.push({ name: 'About' }) 進行跳轉,而不用直接寫路徑,路徑修改時也不影響跳轉邏輯。
component場地上的演員 🎭這個路由(場地)上要展示的 Vue 組件(演

3、?main.js 掛載路由

現在你需要把路由集成到 Vue 應用中,這通常是在 main.js 里完成的。你需要引入配置好的 router 并將其傳入 Vue 應用實例。

js// src/main.js
import { createApp } from 'vue';//導入vue
import App from './App.vue';//導入根組件
import router from './router';  // 導入路由      讓 Vue 知道如何切換頁面。createApp(App) //創建vue應用                 傳入 App.vue 作為入口組件.use(router)  // 使用路由                  或者說注冊Router,讓應用支持路由功能。.mount('#app');//掛載路由                  掛載到 index.html 里的 <div id="app"></div>

4、?App.vue?展示

?在你的根組件 App.vue 添加 <router-view> 組件中,你需要加入 <router-view/> 這個占位符,它將用于顯示當前路由匹配的組件。

src/App.vue<template><div id="app"><h1>Vue Router Example</h1><nav> //導航欄(<nav>) 👉 用 <router-link> 讓用戶切換頁面。<router-link to="/">Home</router-link> <!-- 點擊跳轉到子組件Home.vue --><router-link to="/about">About</router-link><!-- 點擊跳轉到我們自定義的子組件About.vue --></nav><router-view/> //👉 是一個占位符,根據當前路由展示<nav>對應組件</div>
</template><script>
export default {name: 'App',//導出組件app.vue//是為了在mian.js導入
};
</script>
src/views/About.vue //這個是我們自定義的組件<template><div><h2>About Page</h2><p>Welcome to the About Page!</p></div>
</template>

解答

🔹入口文件 main.js 如何啟動 Vue 項目?

入口文件 main.js 如何啟動 Vue 項目?📂 src├── 📂 components│    ├── Home.vue  <-- 這是一個子組件│    ├── About.vue <-- 也是一個子組件│├── 📂 router│    ├── index.js  <-- 這里配置路由│├── App.vue   <-- 這是 Vue 項目的根組件├── main.js   <-- 入口文件,掛載 App.vueVue 讀取 main.js創建 Vue 應用,并加載 App.vue 作為根組件注冊 Vue Router(如果有)把 App.vue 渲染到 index.html 的 <div id="app">頁面顯示出來,Vue 項目正式啟動!🎉🚀 入口文件的作用總結
? Vue 應用的起點 👉 沒有 main.js,Vue 無法運行。
? 負責加載 App.vue 👉 Vue 應用的根組件必須從這里啟動。
? 注冊路由等全局功能 👉 讓 Vue 知道如何處理頁面跳轉。
? 掛載 Vue 到 HTML 頁面 👉 把 Vue 渲染到 index.html。所以,main.js 是 Vue 項目的入口文件,相當于啟動 Vue 的“開關”! 🎬

🔹 路由怎么工作?

  • 當你訪問 / 路徑時,Home.vue 組件會顯示在 <router-view/> 里。

  • 當你訪問 /about 路徑時,About.vue 組件會顯示在 <router-view/> 里。

你可以通過點擊 <router-link> 實現頁面跳轉:

  • <router-link to="/">Home</router-link> 會跳轉到 /,顯示 Home.vue

  • <router-link to="/about">About</router-link> 會跳轉到 /about,顯示 About.vue

這樣,Vue Router 讓你在單頁面應用中無刷新地切換視圖,而不需要重新加載整個頁面。

🔹 總結

  1. 安裝和配置 Vue Router:讓你能夠根據路徑來渲染不同的組件。

  2. main.js 中注冊并掛載路由:確保 Vue 應用能夠使用路由。

  3. App.vue 中添加 <router-view/>:用于顯示匹配的組件。

  4. App.vue 中使用 <router-link> 來跳轉路由:幫助你在頁面間導航。

這樣,Vue Router 就能幫助你實現基于路徑的動態組件切換,構建一個 SPA(單頁面應用)

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/74066.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/74066.shtml
英文地址,請注明出處:http://en.pswp.cn/web/74066.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Windows】win10系統安裝.NET Framework 3.5(包括.NET 2.0和3.0)失敗 錯誤代碼:0×80240438

一、.NET3.5(包括.NET 2.0和3.0)安裝方式 1.1 聯網安裝(需要聯網,能訪問微軟,簡單,很可能會失敗) 1.2 離線安裝-救急用(需要操作系統iso鏡像文件,復雜,成功幾率大) 二、聯網安裝 通過【控制面板】→【程序】→【程序和功能】→【啟用或關閉Windows功能】 下載過程…

Android學習總結之RecyclerView補充篇

在 Android 開發中&#xff0c;列表數據更新的性能一直是關鍵痛點。傳統的 notifyDataSetChanged() 會觸發全量刷新&#xff0c;導致不必要的界面重繪。而 DiffUtil 作為 Android 提供的高效差異計算工具&#xff0c;能精準識別數據變化&#xff0c;實現局部更新&#xff0c;成…

Miniforge3高效管理 Python環境:2025年最新實踐指南

Miniforge3 高效管理 Python 環境:2025 年最新實踐指南 在現代開發中,靈活高效地管理 Python 環境至關重要。Miniforge3 作為一款輕量級 Conda 管理工具,不僅默認采用更新更快的 conda-forge 軟件源,還對 ARM 架構(例如 Apple M1/M2/M3)有著出色的適配性。相比于傳統的 …

山東大學軟件學院項目創新實訓開發日志(4)之中醫知識問答數據存儲、功能結構、用戶界面初步設計

目錄 數據庫設計&#xff1a; 功能設計&#xff1a; 用戶界面: 數據庫設計&#xff1a; --對話表 (1個對話包含多條消息) CREATE TABLE conversations ( conv_id VARCHAR(36) PRIMARY KEY, -- 對話ID user_id VARCHAR(36) NOT NULL, -- 所屬用戶 title VARCHAR(100), -- 對話…

交換機、路由器、VLAN、單臂路由、三層交換、STP

華為模擬安裝 1.依次安裝wincap 2.wireshark 3.virtual box 4.ensp 一、設置 1.virtual box設置 2.計算機防火墻允許以上程序 3.eNSP設置 路由器&#xff1a;AR2240 交換機&#xff1a;S5700、CE12800 防火墻USG6000V 交換機 一、交換機工作原理 1、回顧 二層交換機…

【藍橋杯】每日練習 Day15

目錄 前言 奶牛選美 分析 代碼 大臣的旅費 分析 代碼 飛機降落 分析 代碼 母親的牛奶 分析 代碼 掃雷 分析 代碼 前言 雖為誕辰&#xff0c;但也不忘完成每日的訓練。 今天給大家帶來五道dfs的題目&#xff0c;包括組合數&#xff0c;連通塊&#xff0c;數的…

ipconfig、ping、ipconfig/all 4個常用 **Windows終端(CMD)命令** 的詳細解釋

ipconfig、ping、ipconfig/all 4個常用 Windows終端&#xff08;CMD&#xff09;命令 的詳細解釋、用途分析和使用示例 1. ipconfig 作用 快速查看本地網絡連接的 IP地址、子網掩碼、默認網關 等基礎信息。 示例輸出 Windows IP 配置無線局域網適配器 WLAN:IPv4 地址 . . .…

@emotion/css + react+動態主題切換

1.下載插件 npm install --save emotion/css 2.創建ThemeContext.tsx // src/ThemeContext.tsx import React, { createContext, useContext, useState } from "react";// 定義主題類型 export type Theme "light" | "dark";// 定義主題上下…

【信奧一本通提高篇】基礎算法之貪心算法

原文 https://bbs.fmcraft.top/blog/index.php/archives/22/ 貪心算法 概述 近年來的信息學競賽試題&#xff0c;經常出現求一個問題的可行解或最優解的題目。這類問題就是我們通常所說的最優化問題。貪心算法是求解這類問題的一種常用算法。在眾多的算法中&#xff0c;貪心…

CentOS-7.0系統基礎操作

配置ip地址 編輯網卡文件&#xff1a; vi etc/sysconfig/network-scripts/ifcfg-ens33 在網卡文件里參照如下設置&#xff1a; BOOTPROTO"static" IPADDR192.168.61.233 GATEWAY192.168.61.2 NETMASK255.255.255.0 ONBOOT"yes" 防火墻管理 開啟防火墻&am…

【大模型應用】信息抽取的調研

老規矩&#xff0c;先占坑&#xff0c;后續更新。 關鍵詞&#xff1a; Pydantic functioncal 參考文獻&#xff1a;小白學大模型&#xff1a;自定義信息抽取Agent-CSDN博客

MySQL內存使用率高問題排查與解決方案:

目錄標題 **一、問題現象****二、核心排查步驟****1. 參數檢查****2. 內存使用分析****3. 存儲過程/函數/視圖檢查****4. 操作系統級檢查** **三、解決方案****1. 調整MySQL配置****2. 關閉透明大頁&#xff08;THP&#xff09;****3. 優化查詢與存儲過程****4. 硬件與環境優化…

華為GaussDB數據庫的手動備份與還原操作介紹

數據庫的備份以A機上的操作為例。 1、使用linux的root用戶登錄到GaussDB服務器。 2、用以下命令切換到 GaussDB 管理員用戶&#xff0c;其中&#xff0c;omm 為當前數據庫的linux賬號。 su - omm 3、執行gs_dump命令進行數據庫備份&#xff1a; 這里使用gs_dump命令進行備…

How to install OpenJ9 JDK 17 on Ubuntu 24.04

概述 OpenJ9 是一款由 IBM 開發并開源的 Java 虛擬機&#xff08;JVM&#xff09;&#xff0c;現由 ?Eclipse 基金會管理&#xff08;名為 ?Eclipse OpenJ9&#xff09;。它旨在提供高性能、低內存消耗和快速啟動時間&#xff0c;特別適用于云原生和容器化環境。 關鍵特性 …

洛谷題單1-P5705 【深基2.例7】數字反轉-python-流程圖重構

題目描述 輸入一個不小于 100 100 100 且小于 1000 1000 1000&#xff0c;同時包括小數點后一位的一個浮點數&#xff0c;例如 123.4 123.4 123.4 &#xff0c;要求把這個數字翻轉過來&#xff0c;變成 4.321 4.321 4.321 并輸出。 輸入格式 一行一個浮點數 輸出格式 …

【云服務器】在Linux CentOS 7上快速搭建我的世界 Minecraft 服務器搭建,并實現遠程聯機,詳細教程

【云服務器】在Linux CentOS 7上快速搭建我的世界 Minecraft 服務器搭建&#xff0c;詳細詳細教程 一、 服務器介紹二、下載 Minecraft 服務端三、安裝 JDK 21四、搭建服務器五、本地測試連接六、添加服務&#xff0c;并設置開機自啟動 前言&#xff1a; 推薦使用云服務器部署&…

內網穿透_ZeroTiers部署_廣和通SC171_aidlux_嵌入式

下載 sudo curl -s https://install.zerotier.com | sudo bash &#xff08;需要科學上網&#xff09; 所有涉及硬件的操作好像都需要 root 權限&#xff0c;curl 在這里需要連接網絡&#xff0c;所以也需要 sudo sudo zerotier-cli status 若返回 200 info 及設備 ID&#xff…

Faster RCNN Pytorch 實現 代碼級 詳解

基本結構&#xff1a; 采用VGG提取特征的Faster RCNN. self.backbone:提取出特征圖->features self.rpn:選出推薦框->proposals self.roi heads:根據proposals在features上進行摳圖->detections features self.backbone(images.tensors)proposals, proposal_losses…

【Matlab】-- 基于MATLAB的美賽常用多種算法

文章目錄 文章目錄 01 內容概要02 各種算法基本原理03 部分代碼04 代碼下載 01 內容概要 本資料集合了多種數學建模和優化算法的常用代碼資源&#xff0c;旨在為參與美國大學生數學建模競賽&#xff08;MCM/ICM&#xff0c;簡稱美賽&#xff09;的參賽者提供實用的編程工具和…

Vue2和Vue3響應式的基本實現

目錄 簡介Vue2 響應式Vue2 響應式的局限性 Vue3 響應式Vue3 響應式的優點 Vue2 和 Vue3 響應式對比 簡介 在 Vue 框架中&#xff0c;數據的響應式是其核心特性之一。當頁面數據發生變化時&#xff0c;我們希望界面能自動更新&#xff0c;而不是手動操作 DOM。這就需要對數據進…