【发布时间】:2015-01-05 22:39:27
【问题描述】:
我有以下 HTML(在 gsp 中):
<img ng-src="${resource(dir: '')}/images/stores/closeBTN.svg" />
我想使用 Modernizr 来检测是否支持 SVG,如果不支持,则将图像切换为 png。我已经修改了这个指令:https://github.com/tinacious/angular-svg-png
angular.module('svgPng', [])
.directive('img', function () {
return {
restrict: 'E',
link: function (scope, elem, attrs) {
if ( typeof Modernizr !== 'undefined' && !Modernizr.svg ) {
elem.attr('src', attrs.src.replace('.svg', '.png'));
}
}
};
});
问题是 attrs.src 未定义,因此替换不起作用。我知道 ng-src 应该填充 src,所以我需要强制一个摘要循环或其他东西来定义 src 吗?
【问题讨论】:
-
语法
${resource(dir: '')}是什么意思? -
这是一个 Grails 插件,可以正确生成指向静态资源的链接。只需在此处插入一条路径即可。
标签: html angularjs angularjs-directive