在我的应用程序中,我有一个ng开关,在其中一个选项卡中,我有一个带有第二个控制器的div,如下所示:
<div ng-controller="first">
<div ng-switch on="tab">
<div ng-switch-default></div>
<div ng-switch-when="2">
<div ng-controller="second">
</div>
</div>
</div>
</div>
我正在使用 $scope.$broadcast 与第二个控制器通信,但它在 ng-switch 内,因此似乎不起作用。第一个问题为什么?
当我将第二个控制器从ngswitch链中取出时,它可以工作。但是当我更改 $scope.tab 值时没有任何反应。它应该再次被 ng-switch 捕获。第二个问题为什么?有人可以帮助我吗?谢谢
首先:ng-swith
指令的工作方式类似于javascript中的开关大小写。当$scope.tab = 1
时,"分离"控制器不会在DOM中呈现。所以没有控制器可以与之通信...
第二:如果将"第二个"控制器放在开关外壳之外,$scope.tab
对其没有影响。
试着用语言解释你想做什么。您的代码中没有逻辑