Мне нужен вход для использования атрибутов с именами xml с именами angular.
Проблема заключается в том, что angular содержит пару директив для обработки атрибутов записи, таких как href и src, когда angular проанализировал выражения (иначе браузер попытается загрузить {{mymodel.myimage}}
в качестве URL-адреса)
https://github.com/angular/angular.js/blob/master/src/ng/directive/booleanAttrs.js#L329
Проблема, с которой я сталкиваюсь, заключается в том, что я использую angular для вывода svg вместе с D3, и поскольку angular не имеет способа вывода xlink:href
, я застрял.
Я создал настраиваемую директиву, которая выводит xlink: href
app.directive('ngXlinkHref', function () {
return {
priority: 99,
restrict: 'A',
link: function (scope, element, attr) {
var attrName = 'xlink:href';
attr.$observe('ngXlinkHref', function (value) {
if (!value)
return;
attr.$set(attrName, value);
});
}
};
});
Полная демонстрация: http://plnkr.co/edit/cMhGRh
Но кажется, что если я не добавлю вручную xlink: href к элементу, изображение svg не будет отображаться.
Приветствуются любые предложения о том, как наилучшим образом обрабатывать пространства имен xml/svg вместе с angular.