如何在ui-sref中单独绑定?

时间:2015-10-15 07:20:11

标签: javascript angularjs angular-ui-router url-routing angularjs-routing

我正在做ng-repeat列表,如下所示:

<div ng-repeat="x in myCtrl.data" ui-sref="app.detail({id: x.id})">
    <img ng-src="{{::x.image}}">
    <h2>{{::x.name | characters:35}}</h2>
</div>

当我监视观察者时,我发现当列表变长时,观察者会增加。如果我从{id: x.id}删除ui-sref,无论列表有多长,观察者的数量始终保持不变。

所以,我的问题是如何在ui-sref中进行单一绑定?

2 个答案:

答案 0 :(得分:1)

  

是的,如果你看看API,你会发现它,它增加了观察者   来自this line&amp;你无法避免这种情况。

你可以通过自己的重定向来解决那个观察者,就像你可以在那里ng-click="redirect('app.detail', {id: x.id})"事件而不是ui-sref指令,以及从redirect方法您可以使用$state.go重定向到该状态。

<强>代码

$scope.redirect = function(stateName, param){
    $state.go(stateName, param)
}

答案 1 :(得分:1)

ui-sref="app.detail(::{id: x.id})

没有重定向任何内容,一行代码一次性绑定