ng-class条件更改,但不更新类

 Wang嘉伟 发布于 2022-12-19 12:32

我有一个非常奇怪的问题.我必须active在适当的

  • 时候设置一个类$scope.selectedCat == cat.id.该列表使用ng-repeat生成.如果selectedCat为false,则"浏览所有类别"列表项(在ng-repeat之外)将设置为活动状态.setCat()设置$scope.selectedCat变量的值:

    
    

    当页面加载时,一切正常(来自FireBug的快照):

  • 但是,当我将$ scope.selectedClass设置为某个cat.id值时,ng-class中的条件会被正确计算,但ng-class不会相应地更新类:

  • 请注意,在第一行中,活动类保持设置,而ng-class的计算结果为false.在最后一行中,未设置active,而ng-class的计算结果为true.

    任何想法为什么它不起作用?这样做的正确Angular方式是什么?

  • 3 个回答
    • 更换:

      ng-class="{'active': {{selectedCat == cat.id}}}"
      

      附:

      ng-class="{'active': selectedCat == cat.id}"
      

      在Angular中,你永远不需要像那样嵌套那些花括号.

      有关更多示例,请查看ng-class文档.

      2022-12-19 12:33 回答
    • 代替

      ng-class="{'active': {{selectedCat == cat.id}}}"
      

      使用

      ng-class="{active: selectedCat == cat.id}"
      

      2022-12-19 12:33 回答
    • 嗨,我也面临同样的问题.我顺便解决了问题,而不是直接将值赋给ng-class,调用单独的方法并返回值.

      例如:

      ng-class="getStyleClass(cat)"
      
      $scope.getStyleClass = function(cat)  {   
            return "active: selectedCat == cat.id";  
      }
      

      粗略地我编码.请根据您的要求更改方法.

      2022-12-19 12:35 回答
    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    热门标签
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有