【问题标题】:Angularjs - ngSwitch $broadcastAngularjs - ngSwitch $broadcast
【发布时间】:2016-02-07 13:30:30
【问题描述】:

在我的应用程序中,我有一个 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 捕获。第二个问题为什么? 有人可以帮助我吗? 谢谢

【问题讨论】:

    标签: angularjs controller nested broadcast ng-switch


    【解决方案1】:

    首先:ng-swith 指令就像 javascript 中的 switch case 一样工作。当$scope.tab = 1 时,“seconed”控制器不会在 DOM 中呈现。所以没有控制器可以与之通信......

    第二个:如果你把“第二个”控制器放在开关盒外面,$scope.tab对它没有影响。

    试着用语言解释你想要做什么。您的代码中没有逻辑

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-05
      • 2018-04-25
      • 2015-09-07
      • 2016-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-06
      相关资源
      最近更新 更多