当前位置:   article > 正文

【VUE3】Router安装及使用_vue3安装router

vue3安装router

目录

安装

配置

使用

概念


安装

如果根据【创建项目-教程】配置一致就项目目录下会出现router文件夹

如果没有先查看package.json是否存在vue-router,存在的话手动创建router文件夹

package.json内不存在vue-router使用以下命令在项目终端安装

npm install vue-router --save

安装完毕后查看package.json是否存在vue-router

  1. "dependencies": {
  2. "vue-router": "^4.0.3",
  3. },

配置

(1)打开main.ts

(2)配置router(下方有代码)

  1. import { createApp } from 'vue'
  2. import App from './App.vue'
  3. import router from './router'
  4. import store from './store'
  5. import ElementPlus from 'element-plus'
  6. import 'element-plus/dist/index.css'
  7. createApp(App).use(store).use(router).use(ElementPlus).mount('#app')

(3)router下的路由文件(没有的话自己建一个index.ts)

写法一:

  1. import { createRouter,createWebHistory} from 'vue-router';
  2. const router = createRouter({
  3. routes: [
  4. {
  5. path: '/',
  6. //路由到的地址(自定义)
  7. name: 'HomeComponent',
  8. //组件名称
  9. component:()=>import('../views/HomeComponent.vue'),
  10. //引入组件,HomeComponent.vue所在路径
  11. //HomeComponent.vue是需要路由的vue组件
  12. },
  13. ],
  14. history: createWebHistory()
  15. })
  16. export default router;

写法二:

  1. import { createRouter,createWebHistory} from 'vue-router';
  2. import HomeComponent from '../views/HomeComponent.vue';
  3. //引入组件,HomeComponent.vue所在路径
  4. //HomeComponent.vue是需要路由的vue组件
  5. const router = createRouter({
  6. routes: [
  7. {
  8. path: '/',
  9. //路由到的地址(自定义)
  10. name: 'HomeComponent',
  11. //组件名称
  12. component:HomeComponent,
  13. //引入HomeComponent
  14. },
  15. ],
  16. history: createWebHistory()
  17. })
  18. export default router;

使用

(1)在App.vue中添加<router-view />

  1. <template>
  2. <div id="app">
  3. <router-view />
  4. </div>
  5. </template>
  6. <style lang="scss">
  7. #app{
  8. width: 100%;
  9. height: 100%;
  10. }
  11. </style>

(2)新建一个vue文件(根据自身情况)

  1. <template>
  2. <div>
  3. 我是BackHome
  4. <router-link to="/">回到HomeComponent</router-link>
  5. //这个to="/"是router中配置的HomeComponent的地址
  6. </div>
  7. </template>
  8. <script>
  9. export default {
  10. name: "BackHome"
  11. }
  12. </script>
  13. <style scoped>
  14. </style>

(3)在router配置BackHome路由

  1. import { createRouter,createWebHistory} from 'vue-router';
  2. import HomeComponent from '../views/HomeComponent.vue';
  3. import BackHome from '../views/BackHome.vue';
  4. const router = createRouter({
  5. routes: [
  6. {
  7. path: '/',
  8. //路由到的地址(自定义)
  9. name: 'HomeComponent',
  10. //组件名称
  11. component:HomeComponent,
  12. //引入HomeComponent
  13. },
  14. {
  15. path: '/back',
  16. //路由到的地址(自定义)
  17. name: 'BackHome',
  18. //组件名称
  19. component:BackHome,
  20. //BackHome
  21. },
  22. ],
  23. history: createWebHistory()
  24. })
  25. export default router;

(4)HomeComponent添加代码

  1. <template>
  2. <div>
  3. 我是HomeComponent
  4. <router-link to="/back">前往BackHome</router-link>
  5. </div>
  6. </template>
  7. <script>
  8. export default {
  9. name: "HomeComponent",
  10. }
  11. </script>
  12. <style scoped>
  13. </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 守卫。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/924718
推荐阅读
相关标签
  

闽ICP备14008679号