html - 使用 AngularJS 更新 Div

标签 html css angularjs data-binding angular-ngmodel

我有一个 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 进行此更新?

谢谢。

最佳答案

  1. ng-show不需要插值,直接写“message.recieved...”即可

  2. 为什么不这样使用 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/

相关文章:

html - 本地主机不支持日文字符

html - 内联 block 父级内的 float div 在调整大小时下降

html - 选项卡不会在没有 javascript 的情况下将容器包装在解决方案上

javascript - 使用 limitTo 更改/更新 ng-repeat 中的项目数量

javascript - AngularJS 指令链接功能不起作用

html - 如何从网格中获取 'disconnect' 元素?

html - 在 "Proof"环境中对多个段落使用::before 和::after

html - Div 仅与内容一样高

html - 嵌套 flexbox 优化

javascript - 如何在 html 元素属性中使用 Angular 2 外推?