【发布时间】:2016-01-04 23:17:14
【问题描述】:
使用 ui-router 我想在 ng-repeat 中动态设置 ui-sref 指令,如下所示:
<a ng-repeat="step in steps" ui-sref="{{step.state(step.param)}}"></a>
steps 是一个“状态对象”数组,每个都有自己的状态和参数对象:
var steps = [{state: 'foo', param: {id: 'bar'}}, {...}];
这会引发插值错误。另一方面,仅动态传递状态或参数在以下方面效果很好:
// Pass only dynamic state works great
<a ng-repeat="step in steps" ui-sref="{{step.state}}"></a>
// Pass only dynamic param works great
<a ng-repeat="step in steps" ui-sref="foo(step.param)"></a>
我尝试使用 ng-click 作为 hacky 解决方法,但它与 ui-sref-active 的配合效果不佳:
<a ng-repeat="step in steps" ng-click="$state.go(step.state, step.param)"></a>
有没有人熟悉动态传递状态和参数的好方法?
【问题讨论】:
标签: angularjs angular-ui-router