我在AngularJS中遇到了ng-class的问题 - 它没有正确更新.
视图:
<div class="cal-day" ng-repeat="day in schedule">
...
<div class="entry" ng-click="entryDetails(entry)" ng-repeat="entry in day.blockGrid"
ng-class="{'selected': isSelected(entry), 'bg-{{entry.color}}': entry, 'bg-empty': !entry}">
{{isSelected(entry)}}
...
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
JS:
$scope.entryDetails = function(entry) {
$scope.entryForDetails = entry;
};
$scope.isSelected = function(entry) {
return $scope.entryForDetails === entry;
};
Run Code Online (Sandbox Code Playgroud)
CSS类选择是罚款实现-当我更换isSelected(入口)与真正的NG-类,该类得到正确应用.
与isSelected()函数相同 - 它根据是否选中该项正确打印true或false.
即使两个元素都有效,它们也会以某种方式拒绝协同工作,并且当isSelected(entry)返回true时,div类不会更新为选中状态.
编辑:
模型存储在白天
{
"date": "6.6.2013",
"blockGrid": [
null,
null,
null, …Run Code Online (Sandbox Code Playgroud)