gpt4 book ai didi

angularjs - 如何从 AngularJS 指令设置 native 属性?

转载 作者:行者123 更新时间:2023-12-03 13:38:40 25 4
gpt4 key购买 nike

我想编写类似于以下内容的 HTML:

<a href="sharedasset: img.png">test</a>
<img src="sharedasset: img.png"/>

并有一个名为“sharedasset”的指令,它可以获取到 img.png 的完整路径。并在指令事先不知道属性名称是什么的情况下设置属性的值。这可能吗?

更新

自从我最初发布这篇文章以来,Angular 已经有了一些改进,因此我想我会分享我现在所做的事情。在 HTML 中,我使用 Guido Bouman 的答案,即创建一个过滤器,现在有了 Angular 的一次绑定(bind)功能,这使它成为我认为的最佳选择。

但是在 JS 代码中,而不是注入(inject) $filter和我的 globalVars无处不在,现在我只是在 static 前面加上单词到托管在静态内容服务器上的 Assets 的任何路径,例如 {templateUrl: "static/someTemplate.html"}然后使用 Angular HTTP 拦截器查找以“静态”开头的任何路径,并将其替换为静态服务器的域。非常简单。

最佳答案

<a full-path="img.png">test</a>
<img full-path="img.png">
app.directive('fullPath', function() {
return {
link: function(scope, element, attrs) {
var fullPathUrl = "http://.../";
if(element[0].tagName === "A") {
attrs.$set('href',fullPathUrl + attrs.fullPath);
} else {
attrs.$set('src',fullPathUrl + attrs.fullPath);
}
},
}
});

我不知道你从哪里得到 fullPathUrl来自,所以我在链接函数中对其进行了硬编码。

关于angularjs - 如何从 AngularJS 指令设置 native 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18218956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com