(function(){
var eateryControllers=angular.module('eateryControllers',[]);
eateryControllers.controller('MainController',function($scope){
var mainCtrl=this;
mainCtrl.$on('$viewContentLoaded',function(){
console.log("view loaded");
})
});
})();
这导致了一个错误:mainCtrl。$ on不是一个函数。较早的版本通过注入$ scope做到了这一点。不能像上面的方法那样使用'this'关键字和'Controller as'方法
最佳答案
在您的情况下,“ this”是指控制器,而不是$ scope。为了使“ this”引用$ scope,您需要处于$ scope方法内。您需要使用:
$scope.$on(...)
另请参阅:'this' vs $scope in AngularJS controllers
关于javascript - Angular $ on函数与此关键字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33180870/