Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angularjs正在监视ng类的应用_Javascript_Angularjs_Angularjs Scope_Angularjs Watch - Fatal编程技术网

Javascript Angularjs正在监视ng类的应用

Javascript Angularjs正在监视ng类的应用,javascript,angularjs,angularjs-scope,angularjs-watch,Javascript,Angularjs,Angularjs Scope,Angularjs Watch,我正在使用Angularui路由器。我有这样的想法: <li ng-class="{ active: state.includes('panel') }"> 添加类后,我想做点什么(例如切换菜单)。我如何知道active类何时应用于li标记 注意:我使用了$scope.$watch,但由于角度$digest循环,它运行了多次,我对菜单使用了切换,最后,菜单关闭了 您可以使用ng show指令切换菜单 <div class="panel" ng-show="state.in

我正在使用Angular
ui路由器
。我有这样的想法:

<li ng-class="{ active: state.includes('panel') }">
  • 添加类后,我想做点什么(例如切换菜单)。我如何知道
    active
    类何时应用于
    li
    标记


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

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

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

    这不需要设置任何手表,因为
    ng show
    根据值内部切换面板

    state.include是函数,它创建手表,因此它会运行多次,因为眼睛有角度,我在问题中提到了这一点。您可以使用设置活动状态的相同条件切换菜单
    menu.isOpen=state.includes('panel')
    我认为不使用$watch是无法完成的,您可以添加检查
    oldValue
    newValue
    -
    函数(newValue,oldValue){}
    并仅在值为different@Ladmerc我这样做了,并观察了
    菜单.isOpen
    ,但在这一点上,类不适用!谢谢但这不是我的方式。因为
    uikit
    处理菜单切换本身。