2016-07-16 36 views
0

如果我有這樣的事情:如何使用ui-router從URL解析狀態?

{} ui-sref="tab({tabid:3})"

點擊上述屬性的元素上會觸發狀態URL像這樣/tab/:tabid

例如,http://..../tab/3

現在我的問題:採用了棱角分明材料

我有標籤的列表來實現。請參考此plunk

當我點擊Tab1狀態是/tab/1。當我點擊Tab2時,狀態是/tab/2。所有這些狀態變化都會通過點擊發生但是現在如果我手動更改URL,比如說我在地址欄中輸入http://..../tab/3,我希望發生相應的狀態更改,並且應激活Tab3。目前,假設我在Tab3上,並且手動將URL更改爲「..../tab/2」,但它不會激活Tab2,但狀態已更改。

有沒有一種簡單的方法通過考慮狀態參數來解析來自URL的狀態?

+0

演示有示例...請參閱http://codepen.io/Mmatiasn/pen/GomQLW – charlietfl

+0

我不認爲這是可能的。所有這些實際上是一個具有不同參數的狀態'/ tab'。您注入'id'參數並設置選項卡索引。 – kuhnroyal

回答

0

這裏主要關注的是標籤的使用。第一個選項卡屬於一個狀態,其餘選項卡屬於另一個狀態,每個選項卡由可通過狀態參數獲得的ID唯一標識。因此,儘管在手動更改URL時解決了正確的狀態,但正確的選項卡並未激活。最簡單的解決方法是使用$stateParams讀取狀態參數,並設置角度材質的md-selected屬性以激活相應的選項卡。