Angularjs - ngSwitch $广播

时间:2016-02-07 13:30:30

标签: angularjs controller nested broadcast ng-switch

在我的应用程序中,我有一个ng-switch,在其中一个标签中,我有一个带有第二个控制器的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捕获。第二个问题为何? 有人可以帮帮我吗? 感谢

1 个答案:

答案 0 :(得分:0)

首先:ng-swith指令的工作方式类似于javascript中的switch case。当$scope.tab = 1,&#34; seconed&#34;控制器不会在DOM中呈现。所以没有控制器可以与...进行通信。

第二:如果你把&#34;第二&#34;在开关盒外面的控制器$scope.tab对它没有影响。

尝试用文字解释你想要做什么。您的代码中没有逻辑