Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带此关键字的函数上的角$_Javascript_Angularjs - Fatal编程技术网

Javascript 带此关键字的函数上的角$

Javascript 带此关键字的函数上的角$,javascript,angularjs,Javascript,Angularjs,这导致了一个错误:mainCtrl.$on不是一个函数。早期版本通过注入$scope来实现这一点。我们不能像上面那样使用“this”关键字和“Controller as”方法来实现这一点吗?在您的情况下,“this”指的是控制器,而不是$scope。要使“this”引用$scope,您需要在$scope方法中。您需要使用: (function(){ var eateryControllers=angular.module('eateryControllers',[]); ea

这导致了一个错误:mainCtrl.$on不是一个函数。早期版本通过注入$scope来实现这一点。我们不能像上面那样使用“this”关键字和“Controller as”方法来实现这一点吗?

在您的情况下,“this”指的是控制器,而不是$scope。要使“this”引用$scope,您需要在$scope方法中。您需要使用:

(function(){

    var eateryControllers=angular.module('eateryControllers',[]);

    eateryControllers.controller('MainController',function($scope){
        var mainCtrl=this;
        mainCtrl.$on('$viewContentLoaded',function(){
            console.log("view loaded");
        })
    });

})();
另见:

$scope.$on(...)