【发布时间】:2013-08-15 15:38:03
【问题描述】:
我想编写类似于以下内容的 HTML:
<a href="sharedasset: img.png">test</a>
<img src="sharedasset: img.png"/>
并且有一个名为“sharedasset”的指令,它获取img.png 的完整路径并设置属性的值,而该指令事先不知道属性名称是什么。这可能吗?
更新
自从我最初发布这篇文章以来,Angular 已经有了一些改进,因此我想我会分享我现在所做的事情。在 HTML 中,我使用 Guido Bouman 的答案是创建一个过滤器,现在有了 Angular 的 bind once 功能,这在我看来是最好的选择。
虽然在 JS 代码中,我没有在任何地方注入 $filter 和我的 globalVars 常量,现在我只是将单词 static 添加到托管在静态内容服务器上的资产的任何路径,例如 {templateUrl: "static/someTemplate.html"}然后使用 Angular HTTP 拦截器查找以“静态”开头的任何路径,并将其替换为静态服务器的域。很简单。
【问题讨论】:
-
<a ng-href="{{fullPath}}img.png">和<img ng-src="{{fullPath}}img.png">怎么样?这需要在控制器中定义fullPath。 -
我希望在指令中定义 fullPath。
-
该指令不能在 href 或 src 的值内使用。
-
但在顶部的docs.angularjs.org/guide/directive 上有示例
<span class="my-dir: exp;"></span>。他们是怎么做到的? -
可以作为类使用。
标签: angularjs angularjs-directive