1 angular.module('moduleName', []).directive(2 'namespaceDirectiveName',3 [ function() {4 return {5 restrict : '',// 描述指令在模版中的使用方式,包括元素E,属性A,CSS样式类,注释或者以上方式的任意主和6 priority : 0,// 设置指令在模版中的执行顺序,顺序是相对于其他指令而言7 template : '',// 以字符串的形式编写一个内联模版,如果以url的形式提供模版,此属性会被忽略8 templateUrl : '',// 描述加载模版所需要的url。如果使用temlate形式提供模版,此属性会被忽略9 replace : true,// 如果设置为true则替换指令所在的元素,否则就追加到元素内部
10 transclude : true,// 把指令元素原来的子节点移动到一个新模版内部
11 scope : 'bool or object',// 为当前指令创建一个新的作用域,而不是使之继承父作用域
12 constroller : function($scope, $element, $attrs, $transclude) {
13 // 创建一个控制器,它会暴露一个API,利用这个API可以在多个指令之间进行通信
14 },
15 require : '',// 要求必须存在另个一指令,当前指令才能执行
16 link : function(scope, iElement, iAttrs) {
17 // 使用编程的方式修改最终生成的dom元素的实例,添加事件监听器,并设置数据绑定
18 },
19 compile : function(tElement, tAttrs, transclude) {
20 //在使用ng-repeat用编程的方式修改dom模版,从而实现一个指令跨越多个指令的特性。
21 //也可以返回一个link函数,可以用它来修改产生元素的示例
22 return {
23 pre : function preLink(scope, iElement, iAttrs,
24 controller) {
25 },
26 post : function postLink(scope, iElement, iAttrs,
27 controller) {
28 }
29
30 }
31 }
32 };
33 } ]);
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!