Я использую ионную структуру 1 в своем развитии. То, что я намереваюсь достичь, - это обновить образ профиля одного и того же вида после того, как пользователь успешно загрузит изображение. Мой код выглядит следующим образом:
<img ng-src="{{ $root.user.userImageUrl }}">
Это услуга:
fileTransfer.upload(image, url, function (res) {
$cordovaDialogs.alert('Update image success', 'Success').then(function () {
$rootScope.user.userImageUrl = res;
console.log($rootScope.user.userImageUrl);
})
});
Я уверен, что код, который я написал, верен, так как он отражает новый образ, загруженный пользователем, если $rootScope.user.userImageUrl
не является действительной ссылкой изображения сначала. Однако, если $rootScope.user.imageUrl
имеет действительную ссылку изображения для отображения сначала, изображение того же вида не будет обновлено (что означает, что старое изображение все еще сохраняется в представлении)
Я не уверен, в чем проблема, так как я делал макет в скрипке. Может быть, это связано с ионным взглядом? Я даже применяю $rootScope.$apply()
но то, что я получил, - это дайджест, уже примененный.
Макет, который вы приложил, работает как прелесть с незначительным редактированием. http://jsfiddle.net/Lvc0u55v/8446/
Все, о чем я могу думать, это попытаться обернуть его таймаутом:
fileTransfer.upload(image, url, function (res) {
$cordovaDialogs.alert('Update image success', 'Success').then(function () {
$timeout(function() {
$rootScope.user.userImageUrl = res;
console.log($rootScope.user.userImageUrl);
});
})
});