Angularjs 在控制器中仅使用此选项可获取$emit角度
我们能否在控制器中仅使用Angularjs 在控制器中仅使用此选项可获取$emit角度,angularjs,scope,controller,this,emit,Angularjs,Scope,Controller,This,Emit,我们能否在控制器中仅使用此,而不使用$scope 在某些情况下当然是的,我知道。。。但是 如果我们需要$emit,$broadcast和一些其他角度特征,我们只能在范围内找到它们?我们可以通过这种方式获得它吗?或者通过其他方式获得它吗?据我所知,有一些特殊情况,如$emit等,您必须使用$scope,但不能使用它。当您以这种格式创建控制器时: angular.module('myModule').controller('myController',['$scope',function($scop
此
,而不使用$scope
在某些情况下当然是的,我知道。。。但是
如果我们需要
$emit
,$broadcast
和一些其他角度特征,我们只能在范围内找到它们?我们可以通过这种方式获得它吗?或者通过其他方式获得它吗?据我所知,有一些特殊情况,如$emit等,您必须使用$scope,但不能使用它。当您以这种格式创建控制器时:
angular.module('myModule').controller('myController',['$scope',function($scope){
//controller code here
}]);
您传递的函数基本上是控制器对象的构造函数
因此,当您编写这样的代码时:
angular.module('myModule').controller('myController',['$scope',function($scope){
this.myObject = { key : value};
}]);
基本上,您正在将myObject
作为myController
对象的属性
在angular.js中,控制器基本上用于简化视图(由指令处理)和服务(负责业务逻辑)之间的通信
要启用此功能,您可以使用依赖项注入,并将$scope
对象插入控制器,如上所示
当您使用ng controller=“myController”
实例化控制器时,将创建一个新的作用域对象以与控制器对象一起使用。作为参数传递给控制器构造函数的$scope
对象具有新创建的作用域
以下是angular文档的摘录:
属性包含视图模型(将由视图显示的模型)。所有$scope属性都将在注册控制器的DOM中的某个点对模板可用
因此,基本上,您仅附加到$scope对象的任何属性都可以在DOM中操作
附加到此的任何属性在DOM中都不可用。例如:
this is you angular configuration :
angular.module('myModule').controller('myController',['$scope',function($scope){
$scope.name = 'kiran'
this.message = 'hello world';
}]);
This is your html :
<p>{{name}}</p>
这是您的角度配置:
角度.module('myModule').controller('myController',['$scope',函数($scope){
$scope.name='kiran'
this.message='hello world';
}]);
这是您的html:
{{name}}
输出将是:kiran
如果您尝试过:{{message}
,它将抛出一个错误
只有作用域对象包含$$watchers之类的属性,它是当前作用域上监视的所有变量的列表,$watch API,$on API用于事件处理等等
所以你不能用它来利用这些属性。希望这能把事情弄清楚。看一看