cachaito
11/2/2014 - 11:40 PM

Transclusion

Opcja transclude: true, przenosi zawartość html w dyrektywie do jej wnętrza (oznaczonego atrybutem: ng-transclude). Uwaga! W AngularJS v. 1.2 transclude nie dołącza treści (append) ale ją podmienia (replace)! Uwaga nr 2: nawet mimo isolated scope, bindowanie w transkludowanej treści ciągle ma powiązanie z ng-model!! Treść transkludowana jest zawsze ewaluowana w parent scopie i serwowana jako string.

/* HTML
  <panel>
    <span>Inside content!</span>
  </panel>
*/

angular.module('myApp')
  .directive('panel', function() {
    return {
      restrict: 'E',
      transclude: true,
      template: '<div class="panel">This is a panel of component'+
                '<div ng-transclude></div>'+
                '</div>'
    };
  });