【发布时间】:2014-10-24 06:41:01
【问题描述】:
我的控制器内部有下面的 sn-p:
$scope.onFileSelect = function($files) {
for(var i = 0; i < $files.length; i++) {
var file = $files[i];
$scope.upload = $upload.upload({
url: '/smart2/api/files/profile',
file: file
}).success(function(data) {
$scope.photo = data;
});
}
}
当用户加载页面时,他们可以点击模式来上传个人资料照片。在该模式中,它显示了他们当前的个人资料照片和上传输入。
我在图片标签上附加了ng-src,一切正常。但是,当用户上传新的头像时,在上传调用的success 函数中,我设置了$scope.photo(在ng-src 中引用)。
我知道我需要通知 Angular 它已更改,但不知道如何更改。 HTTP 调用返回的数据将始终是 ng-src 或 $scope.photo 中已有的相同数据,但它会发生变化。
个人资料照片的名称是用户的姓名,因此即使他们上传新照片,文件名或来源仍保持不变,但实际文件不同。
问题是,当我在成功函数中设置$scope.photo 时,照片没有更新。可能是什么问题?
【问题讨论】:
-
里面的函数
$scope.apply被调用了吗? -
这不是一个函数,我只是将
$scope.photo设置为等于来自 HTTP 调用的响应。 -
$scope.apply的参数是一个函数。这个函数被调用了吗?你检查了吗? -
我更新了,如何让它刷新ng-src?
-
您的意思是
src指向的内容发生了变化,但URL保持不变,您要强制它重新读取URL?
标签: javascript angularjs