美文网首页
Vue路由多路径配置同一个组件

Vue路由多路径配置同一个组件

作者: 前端巴士 | 来源:发表于2020-07-10 09:37 被阅读0次

是不是经常会有这样的情况,两个组件的内容基本一致,比如下面这样:

Vue路由多路径配置同一个组件 Vue路由多路径配置同一个组件

最简单的方式可以直接用两个组件,逻辑完全分开,好配置好操作,就是代码重复的多。

这样的情况,建议用一个组件,通过路由的配置,最大程度实现代码的重用,操作过程如下:

children: [      {        path: 'checked',        name: 'checked',        component: () => import('../views/user/index.vue'),        meta: {          title: '正式用户',          icon: ''        }      },      {        path: 'unchecked',        name: 'unchecked',        component: () => import('../views/user/index.vue'),        meta: {          title: '未审核用户',          icon: ''        }      }    ]

经过上面的配置,我们的两个路径 checked 和 unchecked 都会访问同一个 vue 组件。

后面要解决的就是如何在组件内对这两个路径进行区分(此时组件的 mounted() 钩子只能执行一次),以便从后台得到正确的数据和组件内显示正确的内容,可以这样搞:

// 方法1,用 watchwatch: {  $route: {       immediate: true,    handler(to, form) {      // TODO     }  }}// 方法2,给 <router-view> 加 key,此方式可以让组件的 mounted() 钩子正常触发<router-view :key="$route.fullPath"></router-view>

还可以在路由中配置参数的方式,形如 /user/:type,这样的情况和上面的类似,组件也会被重用进而导致生命周期钩子不被触发的情况,因为类似,放一起说说:

// /user/:type 方式配置的路由,可以用上面的方法,也可以如下,在组件内写一个导航守卫beforeRouteUpdate(to, from, next) {    next();}

总结:工作中遇到问题的一个小结,只解决了组件公用后生命周期钩子不能触发带来的问题,业务逻辑自行安排,仅供参考!

相关文章

  • Vue路由多路径配置同一个组件

    是不是经常会有这样的情况,两个组件的内容基本一致,比如下面这样: 最简单的方式可以直接用两个组件,逻辑完全分开,好...

  • vue-cli的路由配置

    vue-cli的路由配置 vue-router路由管理路径引用组件:import 组件名 from 组件路径使用r...

  • router - 2018-06-25

    2018-06-25 创建 vue异步组件技术 vue-router配置路由,使用vue的[异步组件](组件 — ...

  • Vue路由配置

    Vue路由使根组件可以自由的挂载需要的子组件。 路由配置: 一、安装 npm install vue-router...

  • Vue路由的配置

    Vue 路由的配置 什么是路由 Vue 路由是可以通过组件的形式把所有的组件组装成为一个应用程序,当我们需要的时候...

  • vue项目实现按需加载的3种方式:vue异步组件技术、es提案的

    1. vue异步组件技术 vue-router配置路由,使用vue的异步组件技术,可以实现按需加载。但是,这种情况...

  • vue项目实现按需加载的方式

    ,1. vue异步组件技术vue-router配置路由,使用vue的异步组件技术,可以实现按需加载。但是,这种情况...

  • DAY1

    配置路由流程 1、用命令安装路由组件 $ cnpm install vue-router --save 2、mai...

  • vue路由高亮

    在路由配置页面routes的同级添加 linkActiveClass: "myActive" 再在vue组件里...

  • vue-router

    一: 使用路由引入组件配置路由创建路由实例创建Vue实例,挂载路由二: 两个标签(1)

网友评论

      本文标题:Vue路由多路径配置同一个组件

      本文链接:https://www.haomeiwen.com/subject/thspcktx.html