[英]Transclude then replace with angularjs
我想創建一個替換的指令:
<my-overlay class="someOverlay">
<h4>Coucouc</h4>
</my-map-overlay>
與:
<div class="someOverlay default-overlay">
<h4>Coucouc</h4>
</div>
replace
方法尚未使用。
如何編寫處理DOM創建div
的指令,如何將default-overlay
類添加到先前定義的類中,並包含和替換<my-map>
指令?
是否可以將過程划分如下:在compile
DOM操作並在link
?
這是要刪除的“替換”的提交: https : //github.com/angular/angular.js/commit/eec6394a342fb92fba5270eee11c83f1d895e9fb
如果您閱讀了一些最后的評論,則似乎畢竟可能不建議使用replace。 但是,這可能是實現您想要的方式:
.directive('myOverlay', function(){
return {
restrict: 'E',
template: '<div ng-transclude></div>',
transclude: true,
link: function (scope, element) {
element.children()[0].setAttribute('class', element.attr('class') + ' default-overlay');
element.replaceWith(element.children()[0]);
}
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.