2014-10-06 4 views
1

Я хотел бы создать директиву example, которая добавляет свой внутренний HTML к себе. Итак, это:AngularJS: Как реализовать директиву, которая выводит свой HTML?

<div example> 
    <label for="name">Name:</label> 
    <input id="name" type="text" ng-model="name"> 
</div> 

должен стать этим:

enter image description here

Когда внутри директивы, элемент уже есть вещи, выравнивают class="ng-scope ng-pristine ng-valid", которые не должны быть в выводимого HTML.

Как реализовать такую ​​директиву?

Моя попытка here

+0

вам понадобится html из компиляции $, но не уверен, как его напечатать ... учитывая, что $ scope недоступна во время компиляции – harishr

ответ

2

Вы, наверное, не нужно transclude или использовать сферу здесь, просто используйте функцию compile, чтобы захватить внутренний HTML и добавить его к узлу:

.directive('example', function() { 
    return { 
    compile: function(ele) { 
     var innerHtml = ele.html(); 
     ele.append(document.createTextNode(innerHtml)); 
    } 
    }; 
}); 

Demo

Смежные вопросы