在相同路径/ URL

时间:2017-07-15 14:29:27

标签: vue.js vuejs2 vue-router

我有两条路线,但问题是它们都共享相同的路径/网址,就像这样

router.js - >

{
path: '/',
name: 'getin',
components: {
  default: Getin,
  AppFooter
}
},    
{
path:"/",
name: landing
components: {
  default: landing
  AppNav
}
},

的index.html - >

    <router-view name="AppNav"></router-view>
    <div class=" jumbo-container">
        <transition name="fade" mode="out-in">
            <router-view></router-view>
        </transition>
    </div>
    <router-view name="AppFooter"></router-view>

看起来似乎如此,Getin是您在获得授权后立即放置凭据和登陆负载的状态。

现在,当我在Getin组件中进行授权,并且我执行this.$router.push({name:'landing'})时,没有任何反应,我想要做的就是保持相同的路径/ URL并拥有不同的视图,我可以将它们放入单个组件,但这听起来不合适,因为它们的意义有很大不同。

1 个答案:

答案 0 :(得分:0)

由您自己承认:&#34;它们的意义有很大不同。&#34;。所以它们应该是分开的路径。命名一个&#34; / getin&#34;和/#34; /登陆&#34;,如果/ getin中的auth成功,则推送/登陆。还要添加一个beforeEnter挂钩,以便您无法直接进入/登陆,但只能通过/ getin