2014-02-13 1 views
0

У меня есть директива, шаблон которой равен <div ng-bind-html="myhtml"></div>. Но myhtml использует область действия директивы.шаблон шаблона angularjs с ng-bind-html в нем, который использует область действия директивы

Я не могу получить эту работу.

Пример: fiddle

+1

Каков ожидаемый результат? '

Hallo Welt
'? – Philipp

ответ

0

Как вы не ссылаться на ожидаемый результат, я предполагаю, что вы хотите, чтобы ваша директива, чтобы отобразить по крайней мере что-то из области видимости контроллера.

Главным образом, вы определили свою директиву, как это:

.directive('testDirective', 

Это хорошо, однако вы ссылаться на него следующим образом:

<testDirective myvar="myvar" myhtml="myhtml" /> 

This is not OK - вы должны ссылаться на вашу директиву с test-directive и не testDirective, this works:

<test-directive myvar="myvar" myhtml="myhtml" /> 
1

В принципе, это не то, для чего используется bind-html, когда вы хотите динамически добавлять html в свое приложение, вам нужно проверить $compile. Это в сочетании с опечаткой, о которой другие указали. Я создал fiddle, который показывает ваше решение:

link: function(scope, elt, attrs) { 
    var element = angular.element(scope.myhtml); 
    var test = $compile(element)(scope); 
    elt.append(test); 
} 

Надеется, что это помогло!