如何覆盖指令中的图像源

我想覆盖指令中的图像src。我已经尝试了以下方法,但其中没有一个可行。如何覆盖指令中的图像源

app.directive('imgTransform', function() { 

return {

retrict: 'A',

link: function (scope, elem, attrs) {

elem.attr('ng-src', 'foo');

attrs.ngSrc = 'foo';

elem.attr('src', 'foo');

attrs.src = 'foo';

}

};

});

在DOM绑定发生之前链接函数是否执行?

我还试图创建一个分离物的范围和结合ngSrc属性:

scope: { 

src: '@ngSrc'

},

然后在链路功能设置scope.ngSrc。这也没有用。

我错过了什么吗?

http://jsfiddle.net/benfosterdev/y7JE9/

回答:

你需要你到你的链接功能之前对其进行修改。

我建议在控制器功能,而不是挖深入$编译器。

restrict: "A", 

controller: function ($scope, $element, $attrs) {

$attrs.$set('ngSrc', 'someOtherValue');

},

link: function (scope, el, attrs) {...}

这里有一个小提琴:http://jsfiddle.net/y7JE9/5/

此外,在您的链接功能查找插入值时使用$观察。祝你好运:))

以上是 如何覆盖指令中的图像源 的全部内容, 来源链接: utcz.com/qa/262278.html

回到顶部