2017-07-15 83 views
0

我有兩個途徑,但問題是,它們都共享相同的路徑/ URL,這樣命名路線之間的導航相同的路徑/ URL

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'}),沒有任何反應,我想要做的就是保持相同的路徑/網址,並有不同的意見,我可以把它們放在一個單一的組件,但沒有聲音對我來說是好的,因爲它們的意義有很大的不同。

回答

0

你自己承認:「他們的意義有很大的不同。」所以他們應該是單獨的路徑。命名一個「/ getin」和一個「/ landing」,並且如果auth in/getin成功則推送/登陸。還添加一個beforeEnter掛鉤,以便您不能直接進入/登陸,但只能通過/ getin

+0

但事情是我沒有在我的應用程序中使用任何URL,只有一個url,我只想使用named路線。它是SPA。 – Siddharth

+0

你在使用VueRouter嗎? SPA仍然可以有多條路線。如果您使用命名路線,則需要不同的路線。否則,你可以使用'is'標記來切換組件 – aprouja1

+0

是的,我正在使用vuerouter,但它如何與'is'標籤相關,我必須推送到相同路徑的指定路由 – Siddharth