【发布时间】:2014-09-24 21:51:34
【问题描述】:
在 Angular 中,我有加载背景图像属性的指令。如何让背景图片按需重新加载?
app.directive('profilePhotoPreview', function () {
return {
restrict: "A",
scope: {
uuid: "="
},
template: "",
link: function (scope, element, attrs) {
scope.$watch('uuid', function (value) {
console.log('profilePhotoPreview ',value);
if (scope.uuid) {
scope.preview = "url('"+conf.s3 + "user_profile_photos/" + scope.uuid + ".jpg')";
var s={'width':'400px', 'height':'400px','background-image': scope.preview}
element.css(s);
}
})
}
}
});
在这种情况下,基础照片已更改(即已上传新的个人资料照片),但 url 是相同的。
我尝试在 uuid 变量上设置 $watch 并将其值从 null 翻转回其旧值以欺骗 Angular 重新渲染 css,但这没有效果。
【问题讨论】:
-
这可能是浏览器使用缓存数据的结果吗?
标签: javascript css angularjs