angular学习笔记(三十)-指令(1)-概述

时间:2024-01-15 10:02:32

之前在 angular学习笔记(十九)-指令修改dom 里面已经简单的提到了angular中的指令,现在来详细的介绍 '指令'

一.指令的创建:

dirAppModule.directive('directive-name',function(){
var obj = {
restrict:'string',
priority:number,
template:'string',
templateUrl:'string',
replace:bool,
transclude:bool or 'element',
scope:bool or string,
controller:function(){},
require:'string',
link: function(scope,element,attrs,ctrl,transclude){},
compile: function(element,attrs,transclude){
return {
pre: function(scope,element,attrs,controller){},
post: function(scope,element,attrs,controller){}
}
}
};
return obj
});

通过 app.directive('directive-name',function(){})来创建一个服务. directive()方法传入两个参数.

第一个参数:是一个字符串,也就是指令的名字.一般的命名规则是用'-'来分割,'-'前是命名空间,'-'后是给这个指令取的名字.其实我们之前用到的比如'ng-repeat','ng-model','ng-view'...等,这些都是angular自带的指令.他们的实质也就是指令.所以,自己创建的指令不应该使用ng作为命名空间.

第二个参数:是一个函数,该函数返回一个json对象.该对象一共可以有上面列出来的11个属性.在后面的文章中一一讲解这些属性.