日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

angular.js - angular指令的compile的參數(shù)(tElement,tAttrs)和link中的參數(shù)(scope,iElement,iAttrs)究竟有什么區(qū)別?

瀏覽:300日期:2024-10-14 10:25:26

問題描述

RT:自己編寫angular指令:

compile:function(tElement,tAttrs,linker){ return function(scope,iEle,iAttrs,ctrl,linker){ }}

compile函數(shù)有三個參數(shù)(tElement,tAttrs,linker),link函數(shù)有五個參數(shù)(scope,iElement,iAttrs,ctrl,linker)其中的tElement和iElement,tAttrs和iAttrs在什么情況下會不一樣?經(jīng)過很多種嘗試,指令嵌套指令,都沒有發(fā)現(xiàn)他們有區(qū)別,但是看書上說是會不一樣的,請問在什么場景下會不一樣,有沒有栗子?

--------------------------分割線--------------------------------------看完這篇文章,文章中的levelOne嵌套levelTwo嵌套levelThree,compile和link的執(zhí)行順序應(yīng)該是:compile-levelOne,compile-levelTwo,compile-levelThree,即先把compile全部執(zhí)行完,然后再執(zhí)行l(wèi)ink函數(shù).但是我自己寫的這兩個指令,它的執(zhí)行順序卻不是這樣的,它是先執(zhí)行了外層的compile,外層的link,然后再執(zhí)行內(nèi)層的compile,內(nèi)層的link...希望能得到大師指點,謝謝~~~

<script type='text/ng-template' id='text.html'> <p> <h3 ng-transclude></h3> </p> </script> <p cb-repeat='thing in things'> <my-widget name='code_bunny'><span>{{thing}}</span></my-widget> </p>

appModule.directive(’cbRepeat’,function(){ return {restrict:’EAC’,transclude:’element’,compile:function(tEle,tAttrs,trans){ console.log(’compile-cbRepeat’); return function(scope,iEle,iAttrs,ctrl,linker){console.log(’post-cbRepeat’);//scope.$new()創(chuàng)建一個作用域的子作用域//console.log(scope.$new().$parent==scope);var myLoop = iAttrs.cbRepeat, match = myLoop.match(/s*(.+)s+ins+(.*)s*/), indexString = match[1], collectionString = match[2], parentEle = iEle.parent(), elements = [];scope.$watchCollection(collectionString,function(collection){ if(elements.length>0){for(var i= 0;i<elements.length;i++){ elements[i].el.remove(); elements[i].scope.$destroy();}elements = []; } for(var i=0;i<scope[collectionString].length;i++){var newScope = scope.$new();newScope[indexString] = scope[collectionString][i];linker(newScope,function(clone){ parentEle.append(clone); var element = {}; element.el = clone; element.scope = newScope; element.scope.$on(’$destroy’,function(){console.log(’被移除’) }); elements.push(element);}) }}) }} }});appModule.directive(’myWidget’,function(){ return {restrict:’E’,templateUrl:’text.html’,replace:true,transclude:true,scope:true,compile:function(tEle,tAttrs,trans){ console.log(’compile-myWidget’+tEle.html()); return function(scope,iEle,iAttrs){console.log(’post-myWidget’+iEle.html()) }} }});

最后打印出來的順序是這樣的:angular.js - angular指令的compile的參數(shù)(tElement,tAttrs)和link中的參數(shù)(scope,iElement,iAttrs)究竟有什么區(qū)別?

它是先執(zhí)行了外層cbRepeat的compile,然后執(zhí)行了cbRepeat的link,然后再是內(nèi)層myWidget的compile,myWidget的link...暈了~~~ 跪求解答~~~ 謝謝~~~

問題解答

回答1:

關(guān)于指令中的compile與link函數(shù)的區(qū)別建議看這篇文章的介紹http://www.ifeenan.com/angularjs/2014-09-04-[%E8%AF%91]NG%E6%8C%87%E4%BB%A4%E4%B8%AD%E7%9A%84compile%E4%B8%8Elink%E5%87%BD%E6%95%B0%E8%A7%A3%E6%9E%90/

回答2:

我看了那篇文章,也看了你的答案,我覺得是理解上的差異造成的,原文中,是說先按嵌套順序執(zhí)行 levelOne - levelThree的compile ,再按嵌套順序執(zhí)行 levelOne - levelThree的pre-link。但樓主你的例子中并沒有l(wèi)ink屬性,也沒有pre-link,也沒有post-link,只是簡單的compile。所以輸出你圖示的那個結(jié)果。你可以仔細看一下那篇文章中的代碼和你的代碼之間的不同。

日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩精品1区2区3区| 成人小电影网站| 黄色在线网站噜噜噜| 欧美日韩一区二区三区不卡视频 | 国产精品伦理久久久久久| 日韩中文字幕在线一区| 亚洲午夜免费| 亚洲作爱视频| 久久久久久久久99精品大| 国产精品99久久免费| 日韩一区二区三免费高清在线观看| 亚洲综合精品| 亚洲一区欧美激情| 亚洲影院天堂中文av色| 日韩在线a电影| 久久国产福利| 日本一不卡视频| 日韩专区欧美专区| 日本一区中文字幕| 中文视频一区| 丝袜a∨在线一区二区三区不卡| 成人久久一区| 国产精品日韩| 少妇精品久久久一区二区三区| 亚洲精品女人| 日韩激情视频网站| 日韩天堂av| 四虎在线精品| 麻豆精品视频在线观看视频| 91亚洲成人| 精品一区av| 国产成人77亚洲精品www| 日韩欧美网址| 妖精视频成人观看www| 99国产精品| 97精品久久| 欧美片第1页综合| 欧美a级一区二区| 天堂精品久久久久| 一本色道精品久久一区二区三区| 麻豆国产精品| 国产精品va视频| 国产精品va视频| 国产极品模特精品一二| 国产精品久久久久久av公交车| 日韩av网站在线观看| 一区二区三区四区日韩| 日韩国产一二三区| 亚洲精品动态| 美日韩精品视频| 免费人成在线不卡| 免费的成人av| 婷婷精品在线| 日本一不卡视频| 日韩高清不卡一区| 国产高清日韩| 国产伦久视频在线观看| 中文字幕成在线观看| 欧美91在线|欧美| 欧美激情另类| 精品国产亚洲日本| 日韩大片在线观看| 久久精品国内一区二区三区水蜜桃| 国产一区观看| 日韩成人a**站| 国产精品久久久久久久久妇女| 一二三区精品| 日韩激情一二三区| 久久精品凹凸全集| 久久国内精品自在自线400部| 国产亚洲第一伦理第一区| 国产亚洲观看| 国产一区调教| 亚洲国产成人精品女人| 亚洲人亚洲人色久| 日本午夜精品视频在线观看| 国产欧美大片| 精品视频在线你懂得| 久久国产日本精品| 极品裸体白嫩激情啪啪国产精品| 国产高清一区| 深夜福利一区| 鲁鲁在线中文| 亚洲开心激情| 日韩av在线播放网址| 亚洲欧洲一区二区天堂久久| 日韩国产欧美三级| 精品视频国产| 国精品一区二区三区| 亚洲免费一区三区| 国产一区丝袜| 亚洲午夜免费| 精品网站999| 亚洲久久一区| 色偷偷偷在线视频播放| 丝瓜av网站精品一区二区| 欧美激情视频一区二区三区免费| 不卡在线一区二区| 久久精品亚洲一区二区| 国产一区导航| 欧美日韩在线观看首页| 日本午夜精品久久久久| 久久久久国产精品一区二区| 日韩成人精品一区二区三区 | 日韩和欧美一区二区三区| 久久久久久久久丰满| 亚洲资源网站| 国产精品xx| 夜久久久久久| 国产精品一区二区三区av麻| 久久要要av| 日韩黄色av| 亚洲午夜黄色| 日本中文字幕不卡| 加勒比视频一区| 一区在线免费| 成人日韩av| 日韩在线a电影| 国内揄拍国内精品久久| 亚洲日本欧美| 中文字幕成在线观看| 99视频精品全国免费| 久久国产乱子精品免费女| 午夜在线视频一区二区区别| 超级白嫩亚洲国产第一| 欧美激情五月| 久久不卡国产精品一区二区| 日韩在线黄色| 日韩精品欧美成人高清一区二区| 久久久久久久久久久9不雅视频| 亚洲精品伊人| 蜜桃av一区| 日韩成人三级| 亚洲夜间福利| 在线视频日韩| 日韩久久99| 亚洲麻豆一区| 久久国产精品免费一区二区三区| 欧美在线看片| 高清在线一区| 高清一区二区| 99精品视频在线| 亚洲激情国产| 日本午夜精品久久久久| 久久一区视频| 日韩毛片在线| 黄色亚洲大片免费在线观看| 羞羞答答国产精品www一本| 日韩三区免费| 99久久夜色精品国产亚洲狼 | 欧美一区二区三区高清视频 | 麻豆视频久久| 日韩1区2区日韩1区2区| 免费人成精品欧美精品| 一区二区国产在线观看| 亚洲深夜影院| 午夜日韩av| 亚洲日本在线观看视频| 日韩综合在线| 蜜臀久久久久久久| 久久精品午夜| 国产成人精品免费视| 欧美aa在线观看| 欧美91精品| 国产美女久久| 欧美日韩国产一区精品一区| 亚洲一区欧美| 日韩精品专区| 日韩精品中文字幕一区二区| 麻豆成人在线观看| 亚洲日本国产| 天堂av在线| 久久精品 人人爱| 欧美日韩国产一区二区三区不卡| 日韩av黄色在线| 伊人影院久久| 久久99久久久精品欧美| 国产精品av一区二区| 国产毛片精品| 美国欧美日韩国产在线播放| 国产黄色一区| 亚洲色图综合| 亚洲网站视频| 国产福利91精品一区二区| 日韩精品成人在线观看| 国产综合亚洲精品一区二| 日韩中文首页| 精品一区二区三区亚洲| 欧美亚洲一级| 日韩欧美中文在线观看| 亚洲一区网站| 日韩精品免费一区二区在线观看 | 日韩成人午夜精品| 日韩精品一二三四| 亚洲精品一区二区在线看| 成人日韩av| 另类专区亚洲| 高清精品久久| 日本久久黄色| 成人国产综合|