【问题标题】:Angularjs watching for ng-class applyAngularjs 关注 ng-class 应用
【发布时间】:2017-08-05 21:55:32
【问题描述】:

我正在使用 Angular ui-router。我有这样的事情:

<li ng-class="{ active: state.includes('panel') }">

我想做一些事情(例如切换菜单)在添加类之后。我如何知道active 类何时应用于li 标签?

注意:我使用了 $scope.$watch ,但由于角度 $digest 循环,它运行了多次,并且我为我的菜单使用了切换,最后,菜单关闭了!

【问题讨论】:

  • state.include 是函数,它创建手表,因此由于角度 $digest 循环而运行多次
  • 是的,我在我的问题中提到了这一点。
  • 您可以使用与设置活动状态相同的条件来切​​换菜单。 menu.isOpen = state.includes('panel')
  • 我认为不使用 $watch 就无法做到这一点,您可以添加检查 oldValuenewValue - function(newValue, oldValue){} 并仅在值不同时应用更改
  • @Ladmerc 我做到了,并观察了 menu.isOpen ,但在这一点上,课程不适用!

标签: javascript angularjs angularjs-scope angularjs-watch


【解决方案1】:

您可以使用ng-show 指令切换菜单

<div class="panel" ng-show="state.includes('panel')">
</div>

这不需要设置任何监视,因为ng-show 在内部根据值切换面板

【讨论】:

  • 谢谢。但这不是我要走的路。因为uikit 自己处理菜单切换。
猜你喜欢
  • 2014-10-03
  • 1970-01-01
  • 1970-01-01
  • 2017-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-26
  • 2016-02-06
相关资源
最近更新 更多