簡體   English   中英

傳遞然后替換為angularjs

[英]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]);
        }
    }
});

http://jsfiddle.net/b6ww0rx8/10/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM