我想要一些关于使用带角度的 xml 命名空间属性的输入。
问题是当 Angular 解析表达式时,Angular 附带了几个指令来处理诸如 href 和 src 之类的写入属性(否则浏览器将尝试加载{{mymodel.myimage}}
为 url)
https://github.com/angular/angular.js/blob/master/src/ng/directive/booleanAttrs.js#L329
我面临的问题是我正在使用 angular 与 D3 一起输出 svg,并且由于 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 的建议将不胜感激。