Javascript AngularJS-控制器中的参数绑定
我有下面的代码示例,显然我再次缺少一些背景信息 当我使用Javascript AngularJS-控制器中的参数绑定,javascript,html,angularjs,visual-studio-2013,angularjs-directive,Javascript,Html,Angularjs,Visual Studio 2013,Angularjs Directive,我有下面的代码示例,显然我再次缺少一些背景信息 当我使用greet指令时,在控制器级别上发生绑定。出于某种原因,它将元素和元素的属性值绑定到相应的变量($attr,$element) 是否有一个包含控制器所有现有绑定的列表 我做了一些研究,但在这个方向上找不到任何东西 指令.js angular.module('TodoApp.directives',[])。 指令('greet',函数(){ 返回{ 模板:“从{{from}}到{{to}}的问候语”, 控制器:函数($scope、$eleme
greet
指令时,在控制器级别上发生绑定。出于某种原因,它将元素和元素的属性值绑定到相应的变量($attr
,$element
)
是否有一个包含控制器所有现有绑定的列表
我做了一些研究,但在这个方向上找不到任何东西
指令.js
angular.module('TodoApp.directives',[])。
指令('greet',函数(){
返回{
模板:“从{{from}}到{{to}}的问候语”,
控制器:函数($scope、$element、$attrs){
$scope.from=$attrs.from;
$scope.to=$attrs.greet;
}
};
});
list.html
。。。。
...
这称为依赖项注入。Angular没有固定的参数列表,而是在需要时使用DI容器注入参数。例如,如果您需要$http服务,只需将其添加为参数—参数的顺序并不重要
可以注入的参数类型包括常量、值、工厂、服务和提供程序
您可以从Angular library“开箱即用”中获得一些:
其他的,您可以从第三方模块或您自己开发的模块获得。指令控制器有一些特殊的绑定。您可以在
$compile
服务()的文档中找到它们,搜索“controller”。为完整起见,请在此重复:
控制器是可注入的(并支持括号表示法),具有以下局部变量:
-与元素关联的当前范围$scope
-当前元素$element
-元素的当前属性对象$attrs
-预先绑定到正确转换范围的转换链接功能。范围可以由可选的第一个参数覆盖<代码>功能([范围],克隆链接fn)$transclude
angular.module('TodoApp.directives', []).
directive('greet', function () {
return {
template: '<h2>Greetings from {{from}} to {{to}}<h2>',
controller: function($scope, $element, $attrs) {
$scope.from = $attrs.from;
$scope.to = $attrs.greet;
}
};
});
....
<div greet="Test1" from="Test2"></div>
...