angular指令

require

引用其他controller

var app = angular.modeule('myapp',[]);



app.directive('common',function(){

    return {

    ...

    controller: function($scope){

        this.method1 = function(){

        };

        this.method2 = function(){

        };

    },

    ...

    }

});



app.directive('d1',function(){

    return {

    ...

    require: '?^common',

    link: function(scope,elem,attrs,common){

        scope.method1 = common.method1;

        ..

        },

    ...

    }

});



app.directive('d2',function(){

    return {

    ...

    require: '?^common',

    link: function(scope,elem,attrs,common){

        scope.method1 = common.method1;

        ..

        },

    ...

    }

});

 

compile

运行在创建dom和scope之前,只执行一次,可以修改dom, ng-repeat 多个dom在compile阶段生成。

 

pre-link

在compile执行之后,子指令的post-link执行之前

 

post-link

执行时,子指令的pre-link和post-link都已经执行完成,可以安全的写业务逻辑

 

你可能感兴趣的:(Angular)