-
StackOverflow 文档
-
AngularJS 教程
-
自定义指令
-
指令定义对象模板
demoApp.directive('demoDirective', function () {
var directiveDefinitionObject = {
multiElement:
priority:
terminal:
scope: {},
bindToController: {},
controller:
controllerAs:
require:
restrict:
templateNamespace:
template:
templateUrl:
transclude:
compile:
link: function(){}
};
return directiveDefinitionObject;
});
multiElement
- 设置为 true,指令名称的开头和结尾之间的任何 DOM 节点都将被收集并作为指令元素组合在一起
priority
- 允许在单个 DOM 元素上定义多个指令时指定顺序以应用指令。首先编译具有更高编号的指令。
terminal
- 设置为 true,当前优先级将是要执行的最后一组指令
scope
- 设置指令的范围
bind to controller
- 将范围属性直接绑定到指令控制器
controller
- 控制器构造函数
require
- 需要另一个指令并将其控制器作为链接函数的第四个参数注入
controllerAs
- 在指令范围内对控制器的名称引用,以允许从指令模板引用控制器。
restrict
- 将指令限制为 Element,Attribute,Class 或 Comment
templateNameSpace
- 设置指令模板使用的文档类型:html,svg 或 math。html 是默认值
template
- 默认替换指令元素内容的 html 标记,如果 transclude 为 true,则包装指令元素的内容
templateUrl
- 为模板异步提供的 url
transclude
- 提取指令出现的元素的内容,并使其可用于指令。内容被编译并作为转换函数提供给指令。
compile
- 转换模板 DOM 的函数
link
- 仅在未定义编译属性时使用。link 函数负责注册 DOM 侦听器以及更新 DOM。它在克隆模板后执行。