Я разработал веб-сервер api и недавно начал разрабатывать клиентскую часть, которая разработана в Angular-js и машинописном тексте.Угловые-js с машинописными текстами - должны ли данные храниться в контроллерах или службах?
У меня есть кое-что, что я не уверен в отношении дизайна моего кода на стороне клиента.
Скажите, например, что у меня есть представление, представляющее список элементов, и контроллер этого вида создается много раз, каждый раз, когда нажимается кнопка (например). Этот вид представляет собой список элементов, и поэтому этот массив receieved throguh Http GET в контроллере каждый раз, когда он будет создан, и вид имеет
ng-repeat="item in vm.items"
Тем не менее, мне кажется, что если бы я сохранить этот список на сервис, который от моего понимания создается один раз для одного клиента только, я мог бы использовать один запрос GET один раз, когда создается служба и использовать его в представлении, как это:
ng-repeat="item in vm.service.items"
и обновляет этот список пунктов будет происходят только с использованием signalr.
Есть ли у второго подхода недостатки? Потому что сейчас я не вижу причины для этого.
Можете ли вы объяснить эту функцию, которую вы написали немного подробнее? Прямо сейчас, что у меня есть в сервисе ctor: $ http.get («..»). Success (function (data) {ListService.service.items = data;}); это другое? –
Я решаю значение в getter вместо конструктора и возвращаю обещание вместо разрешенного объекта. –
А ты заставлял его работать как ленивая инициализация? Однако зачем мне нужно возвращать обещание? если запрос на сервер будет успешным, я просто хочу сохранить данные в массиве в службе, которая сделала запрос, не обращаясь с ним в контроллере каким-либо образом, как я уже упоминал выше. Связывание будет, чем быть прямым в массиве, хранящемся в службе –