如何从父级调用ng-view控制器中的函数?

时间:2017-06-22 15:57:42

标签: javascript angularjs

我在父控制器的ng-view中调用子控制器中的函数时遇到了困难。

目前我的HTML有一些类似

的内容
<body ng-app="myApp" ng-controller="bodyController as bc" ng-init="bc.init()">
  <ng-view><ng-view>
</body>

我的JS有2个控制器,主体控制器和视图控制器。我想从身体控制器中的视图控制器调用一个函数,但是我的$ on和$ broadcast函数是未定义的并且没有运行。

app.controller('bodyController', bodyController);
app.controller('viewController', viewController);

function bodyController(){
  var vm = this;
  vm.init = function(){
    vm.$broadcast('load')
  }

function viewController(){
  var vm = this;
  vm.$on('load', functionToCall)
  }

我认为问题可能是视图控制器尚未加载,所以我无法从中调用函数。所以我尝试从ng-init上的视图控制器发出一个信号,父bodyController会听到,然后广播回一个新的信号,以便该函数运行但是也没有工作。我已经尝试搜索堆栈溢出一段时间了,要么找不到相关的答案,要么答案都在我头上。我非常感谢你的帮助。

0 个答案:

没有答案