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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue子路由跳转至子路由的问题
    34
    0

    现在有A、A1、B、B1。A、B为一级路由,A1和B1分别为子路由,现在当从A1跳转至B1顺序应该是:
    Bcreated --> B1 created --> B1 mounted --> B mounted
    但是我这边的顺序是:
    Bcreated --> B1 created --> B1 mounted --> B mounted --> B1 created --> B1 mounted
    B1这个页面执行了两次。。
    代码如下:
    mVueRouter = new VueRouter({

            routes: [
                {
                    path: '/',
                    components: mComponents,
                    beforeEnter: function(to, from, next) {
                        if(!mComponents.viewQuote) {
                            mComponents.viewQuote = require('./quote.js');
                        }
                        next();
                    },
                    children:[
                        {
                            path: '',
                            component: require('../main/new-quote.js')
    
                        },
                        {
                            path: 'detail',
                            name:'detail',
                            component:  require('../market/new-detail.js')
                        }
                    ]
                },
                 {
                    path: '/more',
                    components: mComponents,
                    beforeEnter: function(to, from, next) {
                        if(!mComponents.viewMore) {
                            mComponents.viewMore = require('./more.js');
                        }
                        next();
                    },
                    children:[
                        {
                            path: '',
                            component: require('../main/new-more.js')
                        },
                        {
                            path: 'login',
                            component:  require('../user/new-login.js')
                        }
                    ]
                }
            ]
        });

    哪位大神能出来指点迷津下。。已经搞了半天了

    0
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    • 零负荷的放任 普通会员 1楼

      在Vue中,子路由通常通过router.push()方法实现,这个方法会将当前的视图组件导航到指定的URL。

      当子路由跳转至子路由时,Vue会重新渲染当前的视图组件,并将新的视图组件作为当前视图组件的子组件,这样就实现了从当前视图组件跳转至子视图组件。

      例如,如果你有一个子路由/child,你可以这样做:

      javascript this.$router.push({ path: '/child' });

      然后在子路由的组件中,你可以这样调用this.$router.push():

      javascript this.$router.push({ path: '/child' });

      这样,当你访问/child时,Vue就会将你重定向到/child的视图组件。

      如果你想要在子路由中跳转至父视图组件,你可以这样做:

      javascript this.$router.push({ path: '/parent', name: 'parent' });

      然后在父路由的组件中,你可以这样调用this.$router.push():

      javascript this.$router.push({ path: '/parent', name: 'parent' });

      这样,当你访问/parent时,Vue就会将你导航到/parent的父视图组件。

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