当我的页面最初加载时,使用此ng-class
三元运算符正确设置类:
<div ng-class="{{day.current}} ? 'currPeriod' : 'notCurrPeriod'">
{{day.date | date:"d"}}
</div>
注意 - 此html位于模板中,由指令使用,在ng-repeat中生成
日{{day.date | date:"d"}}
的值更新,但未应用该类。
奇怪的是,我的开发工具显示出一种差异:
1 = true所以它应该评估为currPeriod
,但元素类仍然是notCurrPeriod
。我在模态更改结束时尝试了$scope.$apply()
,但这并没有奏效。 如何让模板重新运行并应用此三元组?或者有更好的方法吗?
答案 0 :(得分:3)
<div ng-class="{'currPeriod': day.current, 'notCurrPeriod': !day.current}">
{{day.date | date:"d"}}
</div>
ng-class不能以这种方式工作,使用对象语法来实现你想要的东西,或者你可以在当天不在当前时期的时候设置默认样式,并在它被应用时,它会缩短你的ng-class语句