@dixoNich
frontend developer

Обновление данных в сервисе [Angular.JS]

Добрый день.

Имеется контроллер, который работает с моделью, модель достаточно объёмная.

function FooCtrl($scope, service) {
   $scope.foo1 = null;
   $scope.foo2 = null;
   $scope.foo3 = null;
  ............................
  $scope.fooN = null;
}

angular.module('myService', []).
   factory('service', function () {
     var foo1 = 'abc';
     ...........
   })

Когда данные обновляются, то есть, человек, например, вводит данные в input, и решил перейти на другую страницу, надо сохранять состояние между страницами, для этого и был выбран сервис.

Теперь вопрос: как их обновить, чтобы не вешать $watch на каждую переменную? Можно, конечно, повесить $watch на весь $scope, и обновлять всю модель, но является ли это оптимальным решением?
Посоветуйте, пожалуйста.
  • Вопрос задан
  • 5296 просмотров
Пригласить эксперта
Ответы на вопрос 1
EugeneOZ
@EugeneOZ
$scope Вы используете как модель, что неправильно. Моделью должен быть объект внутри $scope.
Если Вы используете сервис как глобальный объект — его и используйте внутри контроллера в темплейтах. Сделайте $scope.Model = service.Model и в темплейтах сможете использовать как Model.foo1.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы