【发布时间】:2013-10-20 08:08:01
【问题描述】:
我找不到可以帮助我解决这个简单问题的方法 在角。比较时,所有答案都与导航栏相关 正在针对位置路径进行。
我已经使用列表和ngRepeat 构建了一个动态表。当我单击一行时,我试图为该行分配一个选定的 css 类,以突出显示该行已被用户选择的事实,并从先前突出显示的行中删除 .selected。
我缺少在所选行和 css 类分配之间进行绑定的方法。
我申请了每个row (ul) ng-click="setSelected()"
但我缺少 function 中应用更改的逻辑。
我的代码:
var webApp = angular.module('webApp', []);
//controllers
webApp.controller ('VotesCtrl', function ($scope, Votes) {
$scope.votes = Votes;
$scope.statuses = ["Approved","Pending","Trash","Spam"];
$scope.setSelected = function() {
console.log("show");
}
});
//services
webApp.factory('Votes', [function() {
//temporary repository till integration with DB this will be translated into restful get query
var votes = [
{
id: '1',
created: 1381583344653,
updated: '222212',
ratingID: '3',
rate: 5,
ip: '198.168.0.0',
status: 'Pending',
},
{
id: '111',
created: 1381583344653,
updated: '222212',
ratingID: '4',
rate: 5,
ip: '198.168.0.1',
status: 'Spam'
},
{
id: '2',
created: 1382387322693,
updated: '222212',
ratingID: '3',
rate: 1,
ip: '198.168.0.2',
status: 'Approved'
},
{
id: '4',
created: 1382387322693,
updated: '222212',
ratingID: '3',
rate: 1,
ip: '198.168.0.3',
status: 'Spam'
}
];
return votes;
}]);
我的 HTML:
<body ng-controller='VotesCtrl'>
<div>
<ul>
<li class="created">
<a>CREATED</a>
</li>
<li class="ip">
<b>IP ADDRESS</b>
</li>
<li class="status">
<b>STATUS</b>
</li>
</ul>
<ul ng-repeat="vote in votes" ng-click="setSelected()">
<li class="created">
{{vote.created|date}}
</li>
<li class="ip">
{{vote.ip}}
</li>
<li class="status">
{{vote.status}}
</li>
</ul>
</div>
</body>
我的 CSS(仅选定的类):
.selected {
background-color: red;
}
【问题讨论】:
标签: angularjs angularjs-ng-repeat