2016-05-23 5 views
0

У меня есть страница редактирования профиля с HTML код следующим образом:

<img ng-src="{$root.user.userProfilePic}" /> 

где $rootScope.user.userProfilePic = "imageUrlHere" />

Однако, когда я обновил userProfilePic снова с помощью контроллера на той же странице, в профиле изображение по-прежнему остается неизменным. Этого не происходит, если я использую $scope. Как я могу это исправить?

UpdateUserProfilePicApi.then(function (res) { 
    $rootScope.user.userProfilePic = res.imgUrl; 
}); 

ответ

0

Там нет необходимости в использовании $ корень .Try это:

<img ng-src="{{user.userProfilePic}}" /> 

Это дает ожидаемый результат, поскольку user.userProfilePic оценивается и заменить его значение после углового нагружен ,

<img ng-src="{$root.user.userProfilePic}" /> 

Но с этим, браузер пытается загрузить файл с именем $ root.user.userProfilePic, что приводит к сбою запроса. Вы можете проверить это в консоли своего браузера.

1

Вы пропали без вести {{двойные фигурные скобки}}, попробуйте следующее:

<img ng-src="{{user.userProfilePic}}" /> 

ng-src docs

0

Вам не нужно использовать $ корень в $ rootScope доступна из всех представлений. Удалите $ root из своего кода.

<img ng-src="{{user.userProfilePic}}" /> 
Смежные вопросы