angular学习笔记,三十-指令

之前在 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个属性.在后面的文章中一一讲解这些属性.