如何在ui-sref中进行单绑定

How to single bind in ui-sref?

本文关键字:单绑定 绑定 ui-sref      更新时间:2023-09-26

我正在做一个列表的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>

当我监视监视程序时,我发现监视程序随着列表变长而增加。如果我从ui-sref中移除{id: x.id},无论列表有多长,守望者的数量总是保持不变。

所以,我的问题是我如何在ui-sref中做单个绑定?

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

no没有重定向,一行代码一次绑定

是的,如果你看API你就会知道,它增加了观察者from this line &这是不可避免的。

你可以通过自己重定向到状态的事情来摆脱那个监视器,就像你可以在那里有ng-click="redirect('app.detail', {id: x.id})"事件而不是ui-sref指令,从redirect方法你可以使用$state.go重定向到状态。

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