2017-02-10 45 views
0

是否有一種內置方法將多個可能的鏈接路由到同一個「頁面」?聚合物應用程序路線:到同一頁面的多條路線?

例如,我有一個'/'路由,通過將該路由的活動屬性綁定到正在觀察的名爲landing-active的屬性來加載着陸頁。我認爲允許融合路線的最直接的方式是爲新路線創建另一個應用路線元素,並將其活動屬性綁定到與'/'路線相同的着陸活動屬性。

有沒有更好的/不同的處理方式,還是應該堅持我的方法?

編輯:我嘗試了我的方法,它不起作用。這是我原來的路線:

<app-route 
    id='landing-route' 
    route='{{route}}' 
    pattern='/' 
    active='{{landing-active}}'> 
</app-route> 

如果我再通過簡單地改變模式和id,然後將「/」路徑將不再有效增加一個備用路由。更改新路徑上的活動綁定可修復此問題,但不再允許它按預期運行。所以我的結論是,我不能將相同的屬性綁定到兩個單獨的app-route元素的活動屬性,所以我的路由方法不起作用。

我還有什麼替代方案?

回答

1
  • 選項1:使用兩個單獨的active變量你的兩個<app-route> s和測試任一變量(例如,與計算binding/property)。可以使用不同的路由器組件。 <nebula-routing>可能是IMO的最佳選項,因爲它具有與<app-route>類似的API,並支持路由模式中的正則表達式。

+0

選項1是如此明顯,我是一個白癡。我也會研究星雲路線,但是正則表達式並不是我想要的。例如,假設我想明確地將'/index.html'路由到登錄頁面,也可能是'/ index'或'/ home'等。定義離散的替代方案而不是正則表達式會更好。 – ViggyNash

+0

@ViggyNash我不是跟隨如何正則表達式不會幫助那裏。如果我的理解正確,你需要三種不同的模式路由到同一頁面:'/ index.html','/ index'或'/ home'。那個正則表達式看起來像這樣:['/index(.html)?|home'](https://regex101.com/r/Y2I4Rr/1)。 – tony19

+0

是的,你是對的。我希望有一個更直觀的選項(正則表達式不是最簡單的東西)。 – ViggyNash

相關問題