我有一个 DIV 定义如下:
<button ng-repeat="message in user.messages">
<div ng-model="message" ng-show="{{message.received && !message.read}}" class="btn bg-green"></div>
<div ng-model="message" ng-show="{{message.received && message.read}}" class="btn bg-green" ></div>
<div ng-model="message" ng-show="{{!message.received}}" class="btn bg-amber"></div>
基本上,我根据消息状态(已接收、已发送、已阅读)更改(显示/隐藏)图标。 但是,当我更新消息的状态时,图标不会改变,即使我已将其与 ng-model 绑定(bind)。我需要刷新整个页面来更新图标。
有什么方法可以通过 Angular 进行此更新?
谢谢。
最佳答案
ng-show不需要插值,直接写“message.recieved...”即可
为什么不这样使用 ng-class:
div ng-class="{'bg-green' : message.recieved, 'bg-amber': !meessage.recieved}"
不要将 div 绑定(bind)到 ng-model,当它不是输入时,使用 2 方式数据绑定(bind)没有任何意义,并且 View 无法更新模型
关于html - 使用 AngularJS 更新 Div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36830812/