Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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
嵌套指令中的angularjs ng类_Angularjs_Ng Class - Fatal编程技术网

嵌套指令中的angularjs ng类

嵌套指令中的angularjs ng类,angularjs,ng-class,Angularjs,Ng Class,尝试了这么多不同的方法,但仍然无法理解这一点。我在嵌套指令的模板中有一个带有ng class=“{menuVisibleAnimation:menuOpen}”的菜单。当我单击父指令中的按钮时,我想将menuOpen的值更改为true,但子指令中的菜单没有更新 实现中的主要问题是,您希望使用$scope在父指令和子指令之间共享menuOpen的值,但父指令有一个独立的作用域: scope: { menuOpen: '@menuOpen' } 您需要在两个指令共享的范围内声明menuOpen

尝试了这么多不同的方法,但仍然无法理解这一点。我在嵌套指令的模板中有一个带有ng class=“{menuVisibleAnimation:menuOpen}”的菜单。当我单击父指令中的按钮时,我想将menuOpen的值更改为true,但子指令中的菜单没有更新


实现中的主要问题是,您希望使用$scope在父指令和子指令之间共享menuOpen的值,但父指令有一个独立的作用域:

scope: {
  menuOpen: '@menuOpen'
}
您需要在两个指令共享的范围内声明menuOpen,由于转换,它必须是父指令的父范围。因此,在父指令中,不应创建新的作用域:

scope: false,
link: function($scope) {      
  $scope.menuOpen = false;
  $scope.toggleMenu = function() {
    $scope.menuOpen = !$scope.menuOpen;
  };
}

然后,可以在child指令中访问openMenu。在您的叉子中查看它。

当我单击按钮时,类正在为div打开和关闭:
视图

的想法是,当我单击按钮时,视图div和。正如您所说,只有view div在切换,而菜单没有切换