我正在使用ui-router。我有一个州:
.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>
如果点击了标签,则状态会发生变化,并且“个人订单”会被更改。在url中使用尾随哈希变为当前状态。然后网址看起来像:
http://localhost:3000/orders/new-personal-orders#12
我想使用ui-router的$ state.go()函数从控制器文件中执行相同的操作。但是没有添加哈希网址。
我的问题是,是否有任何方式可以通过ui-router中的$ state.go()传递哈希URL?
答案 0 :(得分:7)
似乎你现在可以在状态参数中放入一个哈希值,如下所示:
$state.go('new-personal-orders', {'#': catId });
在状态配置中根本不需要/:catId
。
见https://github.com/angular-ui/ui-router/pull/1867
答案 1 :(得分:0)
您可以将状态参数作为参数传递给$state.go
:
$state.go('new-personal-orders', {catId: 12}, {reload:true})
// refers to: http://localhost:3000/orders/new-personal-orders/#12
您似乎试图在ng-repeat
内部实现同样的内容,然后您应该用12
之类的内容替换order.catId
。