<div data-ng-bind-html="message | myFilter"></div> <!-- it does not work -->
<img data-my-directive src="xxx.jpg" alt="some captions"/> <!-- it works -->
angular.module('core').filter('myFilter', ['jQuery',
function ($) {
return function (message) {
var $img = $('<img data-my-directive/>'):
$img.attr({src : 'xxx.jpg', alt : message});
return $('<div/>').append($img).html();
}
}
]);
angular.module('core').directive('myDirective', [
function() {
return {
restrict : 'A',
link : function (scope, $element, attrs) {
$element.someJQueryPlugin();
}
}
}
]);
Из приведенного выше примера, я не могу получить первые <img/>
работы с myDirective
, если он присоединен с фильтром, а второй <img/>
работает нормально, так как он изначально пришел из файл шаблона.Применяя директиву из результата, возвращаемого из фильтра
Любое обходное решение для получения второго <img/>
работает также?
Пожалуйста, не спрашивайте, почему я должен сделать <img/>
таким образом, это всего лишь пример.
'ng-bind-html' не предназначен для интерполяции угловых директив, только для сырого html. Есть много других связанных должностей об этом с обходными решениями. Если бы это был я, я бы использовал свою собственную директиву, вместо этого вы можете компилировать $ – charlietfl