Новое в AngularJS. У меня есть контроллер signin, который проверяет детали пользователя и при успешном вызове службы сохраняет данные пользователя в localStorage, а также присваивает детали переменной в той же службе, которая используется для извлечения данных пользователя из разных представлений. Buh после входа в систему, когда я перенаправляю пользователя на другой вид, который был ранее инициирован (Visted page), я не буду видеть новые обновленные данные пользователя до тех пор, пока я не обножу страницу (представление), что означает, что представление не знает, что значение переменной пользователя в моей служба изменилась. Как мне узнать, а также изменить значение области представления.Как запустить инициированный контроллер Знайте, что значение области изменилось
2
A
ответ
3
Создание метода в контроллере для обработки обновления, то есть:
$scope.refresh = function() {
// Do things that load data here, probably with promises
};
затем использовать это, чтобы начать загрузку вашего контроллера в первый раз, когда он смотрел, то есть вызов функции обновления в контроллере:
$scope.refresh();
Тогда у вас есть возможность делать такие вещи, как назначить событие, чтобы заставить данные для обновления, как (в контроллере):
$rootScope.$on("app.refresh.foo", function() {
$scope.refresh();
});
Тогда в другом месте, вещать, как:
$rootScope.$broadcast("app.refresh.foo");
И если был загружен вид, он будет вызывать функцию обновления.
Замечательная вещь об этом методе заключается в том, что у вас есть дополнительная гибкость при добавлении столько функций, сколько необходимо для функции обновления. Вам не нужно настраивать отдельных наблюдателей.
0
Вы должны определить в контроллере Бодрствующего на вашей стоимости услуги:
$scope.$watch(function() {
return myService.getVal();
}, function(newVal, oldVal) {
if(newVal !== oldVal) alert("NEW VALUE");
});
Смежные вопросы
- 1. Знайте только что увеличиваемое значение
- 2. Как сообщить привязку, что значение свойства изменилось?
- 3. Как NSTextField знает, что его значение изменилось?
- 4. Как передать значение области в директивный контроллер
- 5. Как определить значение TextArea изменилось?
- 6. углового контроллер только поднимает входные значения изменилось
- 7. Как уведомить контроллер представления о том, что свойство объекта изменилось
- 8. Знайте, что идентификатор нет
- 9. Значение входного элемента изменилось: сделайте что-то
- 10. Что изменилось
- 11. Вставка что особое значение изменилось запись
- 12. Сообщите, что значение изменилось в простом массиве
- 13. Проверьте, какое значение области изменилось при использовании $ watchCollection
- 14. KVO: Как рассказать наблюдателю, что само изменилось?
- 15. Знайте, если Backbone.Model.set изменил/не изменил что-либо
- 16. Знайте, что iPhone полностью заряжен
- 17. Знайте, что переполнение: скрыто скрыто
- 18. Git: как определить, что изменилось?
- 19. Как значение Вэл боб изменилось
- 20. Знайте, что UIViewController делает запрос
- 21. Как запустить контроллер?
- 22. значение radio_button_tag изменилось
- 23. выпадающим выбранное значение изменилось
- 24. Как запустить контроллер вида через другой контроллер?
- 25. логическое значение не изменилось
- 26. Контроллер, выполняющий запрос анализа до изменения области видимости области видимости
- 27. WSO2 Idp, инициированный SSO
- 28. Запустить контроллер как скрипт Ruby?
- 29. Как я могу узнать, что что-то изменилось?
- 30. UrlHelper.Action не отображает в области, что контроллер правильно