Javascript angular js集合使用$on而不使用$scope
我看到角度控制器有两种方式。 老一辈:Javascript angular js集合使用$on而不使用$scope,javascript,angularjs,Javascript,Angularjs,我看到角度控制器有两种方式。 老一辈: app.controller('my_ctrl', ['$scope', function($scope){ $scope.a = null; }]); 还有这个: app.controller('my_ctrl',function(){ this.a = null; }); 现在我尝试在侦听器上使用$on,并在文档中使用$scope。我试着这样使用它: 这是我的 但我有一个错误: this.$on is not a function
app.controller('my_ctrl', ['$scope', function($scope){
$scope.a = null;
}]);
还有这个:
app.controller('my_ctrl',function(){
this.a = null;
});
现在我尝试在侦听器上使用$on,并在文档中使用$scope。我试着这样使用它:
这是我的
但我有一个错误:
this.$on is not a function
如何在第二种方式中使用$on?您使用
$on
的方式是在$scope
变量本身上使用它,而不是在这个指针上使用它
试试这个
$scope.$on('listener',function(){})
以你为例
app.controller('my_ctrl', function($scope) {
$scope.$on('listener', function() {
// do stuff on the event
})
})
再加上ericraio所说的——当您观察变量的变化或其他情况时,只需要$scope。事件监视不能在“this”上完成好的,谢谢,我想如果我们现在使用它,那么使用$scope也是一样的。然后我想我不能使用$scope。@user3699170是的,请记住,如果在一个文件中最小化所有javascript,那么在控制器中使用这种更新的方式可能会导致问题。有一个gulp/grunt插件,可以在缩小过程中将所有文件重新写入旧版本。较新的语法更好。