0

你好我有以下情况

我有一个带有方法的控制器,它设置超时并调用模式以及其他操作:

angular
    .module('app')
    .controller('GlobalController', GlobalController);

function GlobalController($scope, $rootScope, ....) {
  var vm = this;

      $scope.$on("callMethod", function(){ 
         vm.showModal();
      });
}

我希望能够从应用程序中的任何其他控制器访问该特定的showModal()方法

所以我有以下选择

$emit(名称,参数);

通过范围层次结构向上调度事件名称,通知已注册的 $rootScope.Scope 侦听器。

使用$emit我必须将其定义GlobalController为父级,因为它的“向上”

和:

$广播(名称,参数);

向下调度事件名称到所有子作用域(及其子作用域),通知已注册的 $rootScope.Scope 侦听器。

对于这些解决方案中的任何一个,我必须在应用程序中明确定义控制器(我的意思是在视图上)才能将其用作父级或子级,有没有办法做到这一点,(即使它不是控制器) ?

4

0 回答 0