赞
踩
目录
如果根据【创建项目-教程】配置一致就项目目录下会出现router文件夹
如果没有先查看package.json是否存在vue-router,存在的话手动创建router文件夹
package.json内不存在vue-router使用以下命令在项目终端安装
npm install vue-router --save
安装完毕后查看package.json是否存在vue-router
- "dependencies": {
- "vue-router": "^4.0.3",
- },
(1)打开main.ts
(2)配置router(下方有代码)
- import { createApp } from 'vue'
- import App from './App.vue'
- import router from './router'
- import store from './store'
- import ElementPlus from 'element-plus'
- import 'element-plus/dist/index.css'
-
- createApp(App).use(store).use(router).use(ElementPlus).mount('#app')
(3)router下的路由文件(没有的话自己建一个index.ts)
写法一:
- import { createRouter,createWebHistory} from 'vue-router';
-
- const router = createRouter({
- routes: [
- {
- path: '/',
- //路由到的地址(自定义)
- name: 'HomeComponent',
- //组件名称
- component:()=>import('../views/HomeComponent.vue'),
- //引入组件,HomeComponent.vue所在路径
- //HomeComponent.vue是需要路由的vue组件
- },
-
- ],
- history: createWebHistory()
- })
- export default router;
写法二:
- import { createRouter,createWebHistory} from 'vue-router';
- import HomeComponent from '../views/HomeComponent.vue';
- //引入组件,HomeComponent.vue所在路径
- //HomeComponent.vue是需要路由的vue组件
- const router = createRouter({
- routes: [
- {
- path: '/',
- //路由到的地址(自定义)
- name: 'HomeComponent',
- //组件名称
- component:HomeComponent,
- //引入HomeComponent
- },
-
- ],
- history: createWebHistory()
- })
- export default router;
(1)在App.vue中添加<router-view />
- <template>
- <div id="app">
- <router-view />
- </div>
- </template>
-
- <style lang="scss">
- #app{
- width: 100%;
- height: 100%;
- }
- </style>
(2)新建一个vue文件(根据自身情况)
- <template>
- <div>
- 我是BackHome
- <router-link to="/">回到HomeComponent</router-link>
- //这个to="/"是router中配置的HomeComponent的地址
- </div>
-
- </template>
-
- <script>
- export default {
- name: "BackHome"
- }
- </script>
-
- <style scoped>
-
- </style>
(3)在router配置BackHome路由
- import { createRouter,createWebHistory} from 'vue-router';
- import HomeComponent from '../views/HomeComponent.vue';
- import BackHome from '../views/BackHome.vue';
-
- const router = createRouter({
- routes: [
- {
- path: '/',
- //路由到的地址(自定义)
- name: 'HomeComponent',
- //组件名称
- component:HomeComponent,
- //引入HomeComponent
- },
- {
- path: '/back',
- //路由到的地址(自定义)
- name: 'BackHome',
- //组件名称
- component:BackHome,
- //BackHome
- },
- ],
- history: createWebHistory()
- })
- export default router;
(4)HomeComponent添加代码
- <template>
- <div>
- 我是HomeComponent
- <router-link to="/back">前往BackHome</router-link>
- </div>
- </template>
-
- <script>
- export default {
- name: "HomeComponent",
- }
- </script>
-
- <style scoped>
-
- </style>
(5)测试
点击前往BackHome后转跳
点击前往HomeComponent后回到HomeComponent
路由器:
Vue Router 提供了一个路由器,用于管理应用程序中的路由。Vue Router 实例化一个 Vue Router 对象,注册路由规则,并以它为中心连接其他组件。
路由:
路由是分发到不同组件的 URL 地址。在 Vue Router 中,路由通常是由 path 规则和相应的组件定义的。当浏览器的 URL 匹配到路由的 path 后,相应的组件将会被加载到页面中。路由的信息可以从 route 对象中获取。
路由规则:
路由规则是由 path、component、name、meta、props 等属性组成的。其中,path 表示 URL 的路径,component 表示要渲染的组件,name 表示路由名称,meta 表示路由的元数据,props 表示路由 props 数据。路由规则可以注册到 Vue Router 中。
导航守卫:
导航守卫是在路由跳转时执行的钩子函数,用于控制路由的访问权限、处理路由跳转前后的逻辑等。在 Vue Router 中,对于选项式 API,常用的导航守卫有 beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave 等;对于使用组合 API 和 setup 函数来编写组件的,可以通过 onBeforeRouteUpdate 和 onBeforeRouteLeave 分别添加 update 和 leave 守卫。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。