将属性绑定更改为angularjs中的第三方指令

将属性绑定更改为angularjs中的第三方指令,angularjs,angularjs-material,Angularjs,Angularjs Material,我正在尝试更改传递到第三方指令md icon的属性。 我尝试过授权,但价值没有改变 到目前为止,这就是我所拥有的 angular.module('app').decorator('mdIconDirective', function ($delegate) { let directive = $delegate[0]; let compile = directive.compile; directive.compile = function(el, attrs) { let link

我正在尝试更改传递到第三方指令
md icon
的属性。 我尝试过授权,但价值没有改变

到目前为止,这就是我所拥有的

angular.module('app').decorator('mdIconDirective', function ($delegate) {
let directive = $delegate[0];
let compile = directive.compile;

directive.compile = function(el, attrs) {
    let link = compile.apply(this, arguments);

    return function(scope, el, attrs) {
        let src = `node_modules/@mdi/svg/svg/${attrs.mdSvgSrc}.svg`;
        el[0].setAttribute('mdSvgSrc', src);

        link.apply(this, arguments)
    };
};

return $delegate;
});
我想更改在
md svg src
中传递的值,这样就不必每次都写入完整路径

我想更改在
md svg src
中传递的值,这样就不必每次都写入完整路径

您可能不想对每个图标分别发出HTTP请求,因此可以将SVG图标捆绑在一起,并将它们作为图标集使用
$mdIconProvider
预加载。图标集也可以指定一个名称,作为单个图标的名称空间,因此您可以像
“social:cake”
那样引用它们

此技术可用于避免每次使用完整路径

<md-icon md-svg-icon="social:android" aria-label="android "></md-icon>

有关详细信息,请参阅


非常感谢您的回复,但在将属性绑定发送到第三方指令之前,我确实需要知道如何操作属性绑定。谢谢
<md-icon md-svg-icon="social:android" aria-label="android "></md-icon>