2015-12-24 17 views
2

我正在使用ui路由器。我有一個狀態:用Angular URL綁定到Anglular ui-router State.go?

.state('new-personal-orders', { 
    url: '/orders/new-personal-orders/:catId?', 
    template: '<new-personal-orders></new-personal-orders>' 
}) 

在我的控制,我可以做出與

$state.go('new-personal-orders',null,{reload:true}) 

狀態的呼叫在HTML文件中,我有一個錨標記:

<a href="/orders/new-personal-orders#12">Link</a> 

如果標籤被點擊的狀態變化,並且'new-personal-orders'變成當前狀態,在URL中具有尾隨散列。然後,URL看起來像:

http://localhost:3000/orders/new-personal-orders#12

我想從與$ state.go()UI-路由器的功能控制器文件做同樣的。但是哈希URL不會被添加。

我的問題是,有沒有什麼辦法能夠通過ui-router中的$ state.go()傳遞哈希URL?

回答

0

您可以通過狀態PARAMS作爲參數在$state.go

$state.go('new-personal-orders', {catId: 12}, {reload:true}) 
// refers to: http://localhost:3000/orders/new-personal-orders/#12 

看來你正試圖實現一個ng-repeat裏面的一樣,那麼你應該通過一些諸如更換12order.catId

+0

其實12不是我想要傳遞的參數。 HTTP://本地主機:3000 /命令/新個人訂單#12。改爲哈希網址。 –

+0

如果您正確定義了stateParams,那麼哈希URL將自動使用'$ state.go'構造。手動重構已經引用的狀態網址似乎是徒勞的。 –