随着模型的变化,Angular ng-class 三元组不会更新我的模板
Posted
技术标签:
【中文标题】随着模型的变化,Angular ng-class 三元组不会更新我的模板【英文标题】:Angular ng-class ternary doesn't update my template as the model changes 【发布时间】:2016-06-01 09:44:06 【问题描述】:当我的页面最初加载时,它会使用 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()
,但这没有用。 如何让模板重新运行并应用此三元组? 或者有更好的方法吗?
【问题讨论】:
【参考方案1】:<div ng-class="'currPeriod': day.current, 'notCurrPeriod': !day.current">
day.date | date:"d"
</div>
ng-class 不能这样工作,使用对象语法来实现你想要的,或者你可以在当天不在当前期间时设置默认样式,并在它是时应用类,它会缩短你的 ng-class 语句
【讨论】:
以上是关于随着模型的变化,Angular ng-class 三元组不会更新我的模板的主要内容,如果未能解决你的问题,请参考以下文章
angular js ng-class 将表达式显示为类而不是处理它