我在父控制器的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会听到,然后广播回一个新的信号,以便该函数运行但是也没有工作。我已经尝试搜索堆栈溢出一段时间了,要么找不到相关的答案,要么答案都在我头上。我非常感谢你的帮助。