【问题标题】:ng-class not working with $scope variavles defined in the controllerng-class 不适用于控制器中定义的 $scope 变量
【发布时间】:2016-05-10 23:51:40
【问题描述】:

我无法使用控制器中定义的 $scope 变量使我的 ng-class 工作
我试过这个:

HTML

<nav  id="main-navbar" class="navbar navbar-default navbar-fixed-top"
            ng-class="{'on': some}">

JS

$scope.some = true;

当我将其更改为这样时,将应用该类

ng-class="{'on': true}"

我错过了什么吗?

【问题讨论】:

  • 你能创建一个 plunker 来重现这个问题吗?
  • 我无法重现这个,所以我很好奇你的应用程序结构是什么样的。您的导航绝对在定义“某些”的控制器范围内吗?您的任何其他类是否会覆盖您希望通过“on”看到的样式?
  • 就像@Michael 所说,对范围的原始绑定应该是一个问题(codelord.net/2014/05/10/…)。只是为了确定,视图和控制器是否正确连接?导航块是声明 ngController 的标签的子标签吗?

标签: angularjs controller angularjs-scope ng-class


【解决方案1】:

这可能与您将原语绑定到范围有关。你可以试试:

HTML

ng-class="{'on': obj.some}">

JS

$scope.obj = {
    some: true
}

【讨论】:

  • 已经试过迈克尔了,还是一样。也尝试作为函数返回
【解决方案2】:

解决了,伙计们,这是关注的问题。 就像 AnFelipe 建议的那样,我在控制器之外声明了我的 ng-class,我把它放在里面,现在一切看起来都很好。

谢谢大家帮助我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-18
    • 2017-04-01
    • 2015-12-13
    • 1970-01-01
    • 2015-10-01
    • 1970-01-01
    相关资源
    最近更新 更多