【发布时间】:2015-04-22 03:04:10
【问题描述】:
http://plnkr.co/edit/nEfBE33AJen3mz9YvjeC?p=preview
我有一个标签按钮列表,默认情况下,加载所有项目后,我将前 3 个项目设置为 selected 类。
现在我还需要标签来获得或失去ng-click 上的selected 类。
您将如何组合标记或控制器中的代码?
.controller('PageCtrl',
['$scope',
function($scope) {
var vs = $scope;
vs.message = "1st, 2nd and 3rd item should be selected by default:";
// Gives the 1st 3 items the selected class
vs.toggleTags = { item: [0, 1, 2] };
// the ng-click to individually toggle the selected class:
vs.selectTag = function(term) {
alert(term +' in tag #'+ vs.toggleTags.item);
};
vs.tags = [
{name: 'aaa'},
{name: 'bbb'},
{name: 'ccc'},
{name: 'ddd'},
{name: 'eee'},
{name: 'fff'},
{name: 'ggg'}
];
}]);
HTML
<ul>
<li ng-repeat="(k, m) in tags"
ng-class="{'selected':toggleTags.item.indexOf(k) > -1}"
ng-click="toggleTags.item = $index; selectTag(m.name)">
<div class="tag">{{m.name}}</div>
</li>
</ul>
基本上我想将{'selected' : toggle.state} 合并到ng-class 行中。现在我的代码取消选择所有内容。
有什么想法吗?
【问题讨论】:
标签: javascript angularjs angularjs-ng-click angularjs-ng-class