1. 程式人生 > >angular js 中conpile與link應用與區別

angular js 中conpile與link應用與區別

點擊 ive 增刪 html ret ont 綁定 function cli

技術分享

link方法是compile拋出來的一個方法

應用

app.directive("thumbNail",function(){
return{
restrict:"ACE",
replace:true,
templateUrl:"../tpl/tpl.html",
compile:function(elem,attrs,transclude){
// dom dom 樹的增刪改查(此時dom樹還未形成)
console.log("編譯階段"); //只打印一次只執行一次
return{
pre:function(scope,elem,attrs,controller){
            //  dom dom 樹的增刪改查(此時dom樹還未形成)實際上也打印了6次 相當於post-link方法


console.log("編譯階段1")
                },
post:function(scope,elem,attrs,controller){ //相當於post-link方法
console.log("鏈接階段") //綁定事件與數據(dom樹已形成 ) 每個實例都會執行一次
}

}
}
/*link:function(scope,elem,attrs){
console.log(elem);
angular.element(elem).find("a").eq(0).on("click",function(){
alert("加入收藏")
});
angular.element(elem).find("a").eq(1).on("click",function(){
alert("點擊購買")
})
}*/
}
});

angular js 中conpile與link應用與區別