@Volodya-NRG

Angular2, как сохранить переменные сервиса при смене роута?

Здравствуйте. Пытаюсь наладить на Angular2 работу админ-панели.
1. Роут: comments . Тут подгружается список с сервера всех комментариев и сохраняется в свойстве сервиса (httpService). Решил этот класс использовать как контейнер где будут хранится данные, каторые приходят с сервера. Этот сервис передаю потом в необходимые компонеты.
2. Роут: comments/:id/edit . Это страница для редактирования того или иного комментария.

В начале, в роуте /comments, я подгружаю список, при переходе на comments/:id/edit хочу взять из ранее созданного списка необходимый объект, чтоб иметь возможность редактировать в форме. Но при переходе на редактирование списка уже нет, т.е. сервис не сохранил или сбросил свойство.

Что подскажете?
------------------------------
(спустя пару дней)
вот так вроде решается
https://youtu.be/nsA_50URfbk?list=PLC3y8-rFHvwg5gE...
  • Вопрос задан
  • 474 просмотра
Пригласить эксперта
Ответы на вопрос 3
@kapko
учусь)
можно испльзовать localStorage.setItem('list', 'listings')

при смене роуте просто localStorage.getItem('list');

только когда обратно вернетесь в list router не забудьте рефрешнуть localStorage.removeItem('list')

А так вообше можно использовать service как глобальный объект Service(List) List.listings = 'Listings'

Надеюсь я вам смог помочь
Ответ написан
@coderlex
А ваш сервис точно был прикреплен именно к аппликации, а не какому-то отдельному компоненту вроде контроллера роута? Посмотрите, может, у какого-то компонента он прописан в providers.
Ответ написан
@Volodya-NRG Автор вопроса
или может все же будет логичным хранить данные в глобальной обычной переменной?
Неужели сервис в своем виде не может передаваться из компонента в компонент в новом своем варианте...
Данная проблема даже и не возникает в таких фреймворках как Backbone, Marionette, а тут (Angular2) как снег наголову.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы