【发布时间】: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 就无法做到这一点,您可以添加检查
oldValue和newValue-function(newValue, oldValue){}并仅在值不同时应用更改 -
@Ladmerc 我做到了,并观察了
menu.isOpen,但在这一点上,课程不适用!
标签: javascript angularjs angularjs-scope angularjs-watch