diff --git a/vue/vue3/The01/The01/package-lock.json b/vue/vue3/The01/The01/package-lock.json index 276e6ee..ffb1a98 100644 --- a/vue/vue3/The01/The01/package-lock.json +++ b/vue/vue3/The01/The01/package-lock.json @@ -9,7 +9,8 @@ "version": "0.0.0", "dependencies": { "vite-plugin-vue-setup-extend": "^0.4.0", - "vue": "^3.5.13" + "vue": "^3.5.13", + "vue-router": "^4.5.0" }, "devDependencies": { "@tsconfig/node22": "^22.0.0", @@ -1390,6 +1391,12 @@ "he": "^1.2.0" } }, + "node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, "node_modules/@vue/devtools-core": { "version": "7.6.7", "resolved": "https://registry.npmmirror.com/@vue/devtools-core/-/devtools-core-7.6.7.tgz", @@ -3018,6 +3025,21 @@ } } }, + "node_modules/vue-router": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.5.0.tgz", + "integrity": "sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, "node_modules/vue-tsc": { "version": "2.1.10", "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-2.1.10.tgz", diff --git a/vue/vue3/The01/The01/package.json b/vue/vue3/The01/The01/package.json index f488b3e..7b1f5b7 100644 --- a/vue/vue3/The01/The01/package.json +++ b/vue/vue3/The01/The01/package.json @@ -12,7 +12,8 @@ }, "dependencies": { "vite-plugin-vue-setup-extend": "^0.4.0", - "vue": "^3.5.13" + "vue": "^3.5.13", + "vue-router": "^4.5.0" }, "devDependencies": { "@tsconfig/node22": "^22.0.0", diff --git a/vue/vue3/The01/The01/src/App.vue b/vue/vue3/The01/The01/src/App.vue index aaee772..2b429fa 100644 --- a/vue/vue3/The01/The01/src/App.vue +++ b/vue/vue3/The01/The01/src/App.vue @@ -1,22 +1,73 @@ - diff --git a/vue/vue3/The01/The01/src/components/About.vue b/vue/vue3/The01/The01/src/components/About.vue new file mode 100644 index 0000000..38b33dd --- /dev/null +++ b/vue/vue3/The01/The01/src/components/About.vue @@ -0,0 +1,20 @@ + + + + + \ No newline at end of file diff --git a/vue/vue3/The01/The01/src/components/Home.vue b/vue/vue3/The01/The01/src/components/Home.vue new file mode 100644 index 0000000..c589d2c --- /dev/null +++ b/vue/vue3/The01/The01/src/components/Home.vue @@ -0,0 +1,18 @@ + + + + + \ No newline at end of file diff --git a/vue/vue3/The01/The01/src/components/News.vue b/vue/vue3/The01/The01/src/components/News.vue new file mode 100644 index 0000000..449161f --- /dev/null +++ b/vue/vue3/The01/The01/src/components/News.vue @@ -0,0 +1,43 @@ + + + + + \ No newline at end of file diff --git a/vue/vue3/The01/The01/src/components/Person.vue b/vue/vue3/The01/The01/src/components/Person.vue deleted file mode 100644 index f383bf6..0000000 --- a/vue/vue3/The01/The01/src/components/Person.vue +++ /dev/null @@ -1,66 +0,0 @@ - - - - - diff --git a/vue/vue3/The01/The01/src/main.ts b/vue/vue3/The01/The01/src/main.ts index 5fd8cb7..d983695 100644 --- a/vue/vue3/The01/The01/src/main.ts +++ b/vue/vue3/The01/The01/src/main.ts @@ -3,4 +3,12 @@ import { createApp } from 'vue' import App from './App.vue' -createApp(App).mount('#app') +// 引入路由器 +import router from './router/index' + +// 创建一个应用 +const app = createApp(App) +//使用路由 +app.use(router) +// 挂载整个应用到app容器中 +app.mount('#app') \ No newline at end of file diff --git a/vue/vue3/The01/The01/src/router/index.ts b/vue/vue3/The01/The01/src/router/index.ts new file mode 100644 index 0000000..130fd96 --- /dev/null +++ b/vue/vue3/The01/The01/src/router/index.ts @@ -0,0 +1,32 @@ +// 创建一个路由器,暴露出去 +// 导入路由组件 +import { createRouter, createWebHashHistory,createWebHistory } from 'vue-router' +//引入每个可能要呈现的组件 +import Home from '@/components/Home.vue' +import About from '@/components/About.vue' +import News from '@/components/News.vue' + +// 创建路由 + +const router = createRouter({ + // 路由模式 + history:createWebHistory(), + routes:[ + // 路由配置规则 + { + path:'/home', + component:Home + }, + { + path:'/about', + component:About + }, + { + path:'/news', + component:News + } + ] +}) + +// 暴露出去 +export default router diff --git a/vue/vue3/learn.md b/vue/vue3/learn.md index df43b70..39458c2 100644 --- a/vue/vue3/learn.md +++ b/vue/vue3/learn.md @@ -503,6 +503,18 @@ function changeName(){ +``` + +``` + + + + + + + + + ### 路由 以实现单页面多应用 \ No newline at end of file