账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue-router 子路由相同,前面写的无法匹配路由?
    27
    0
    vue-router 版本 4.0.12题目描述一个这样的结构,我发现,可以访问 sll/dashboard 确无法访问到 admin/dashboardrouter-view 我是在 admin/sll 文件里面写的error经过验证这样也无法匹配
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 世繁华 普通会员 1楼

      在 Vue Router 中,子路由需要使用 router.push() 方法进行切换,如果在父路由中定义了相同的子路由,那么就会出现前面写的子路由无法匹配的问题。为了解决这个问题,可以使用路由守卫或者自定义导航钩子来处理子路由切换。

      以下是使用路由守卫的例子:

      ```javascript import Vue from 'vue'; import Router from 'vue-router'; import Home from './views/Home.vue'; import About from './views/About.vue';

      Vue.use(Router);

      const router = new Router({ routes: [ { path: '/', component: Home }, { path: '/about', component: About } ] });

      router.beforeEach((to, from, next) => { if (to.meta.name === 'home') { next(); } else if (to.meta.name === 'about') { next(); } });

      export default router; ```

      在这个例子中,我们定义了两个子路由://about。在 beforeEach 钩子中,如果子路由的名称匹配到 home,则直接调用 next(),否则调用 next()

      如果希望自定义导航钩子,可以使用 Vue Router 的 nav 组件,以下是一个简单的例子:

      ```html

      ```

      在这个例子中,我们在 nav 组件中定义了两个链接,当用户点击这些链接时,会跳转到相应的子路由。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部