angularjs - 奇怪的 ng 级行为

标签 angularjs

我正在玩 angular 并且遇到了 ng-class 的奇怪行为指示。这是我的应用程序模板:

<body ng-app>
  {{ isSidebarExpanded }}
  <div ui-view="sidebar" ng-class="{true:'expanded', false:'collapsed'}[isSidebarExpanded]"></div>
</body>

现在 - 当我改变 isSidebarExpanded在我的 Controller 中,第一行显示它的内容(真/假)没有任何问题,但在 ng-class 中使用它产生:

TypeError: undefined is not a function



我可以说是ng-class故障原因当我卸下零件时,它会引发该错误。我不确定我的代码的哪一部分在这里会有所帮助,因为这对我来说似乎真的很困惑。

最佳答案

我今天遇到了同样的问题,并通过创建一个简单的替代指令 ng-class-alt 暂时解决了它,在这种情况下做同样的工作。请注意 app是我的 Angular 模块。

app.directive('ngClassAlt', function() {
  return {
    restrict: 'A',
    scope: {
      ngClassAlt: '=ngClassAlt'
    },
    link: function(scope, elm, attrs) {
      scope.$watch('ngClassAlt', function (newVal) {
        _.each(scope.ngClassAlt, function(val, key) {
          if(val)
            elm.addClass(key);
          else
            elm.removeClass(key);
        });
      }, true);
    }
  };
});

丑陋的 AngularJS 错误启发我找到丑陋的解决方案......希望这对你有所帮助。

关于angularjs - 奇怪的 ng 级行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23193577/

相关文章:

angularjs - Material Design Angular md-自动完成远程

javascript - 是否可以使用 $logProvider 登录模块的配置 block ?

javascript - 重定向回 Angularjs 时没有 "onload"事件

javascript - BaseResponseOptions angular2 处理全局错误

javascript - 比较 ng Repeat 中的每最后两条记录

javascript - 如何动态改变网页的内容和样式?

javascript - ng-repeat动画完成回调

javascript - 在 angularjs 中从 javascript 更新 dom

javascript - 当我使用 ng-options 为什么我选择的没有值(value)

javascript - 是否有一些使用 AngularJS 的开源 Web 应用程序?