我有一个未排序的项目列表,我orderBy
用来按名称按字母数字排序。
<li class="ticker-li"
ng-repeat="ticker in tickers | orderBy:'ticker'"
ng-class="{'selected':ticker.selected}">
<div class="ticker"
ng-click="unselectAll(); ticker.selected = !ticker.selected;
selectTicker(ticker);
revealTickerOptions()">
{{ticker.ticker}}
</div>
现在在我的控制器中,这就是我当前设置所选类的第一个项目的方式:
var vs = $scope;
vs.tickers = data;
vs.tickers[0].selected = true;
^ 这工作得很好,直到我需要添加,orderBy
以便项目按 alpha 顺序显示:
我在这里找到了这个答案,但是它将第一项锁定为始终拥有该课程。
稍微修改一下我的代码,我可以让其他按钮在单击时获得该类,但是该$first
项目仍然保留在该类中。
ng-class="{'selected':$first || ticker.selected}"
在我的控制器中,这是我的unselectAll函数,它不适用于'selected':$first
:
vs.unselectAll = function() {
for (var i = 0; i < vs.tickers.length; i++) {
vs.tickers[i].selected = false;
}
};
标记或控制器中的代码应如何更新以解决此问题?