2016-01-20 3 views
2

Я попытался ответить на следующий вопрос, но ничего не пришло (что очень странно, мне нужно).Угловое время жизни приложения в браузере

Какова продолжительность жизни Agular в браузере?

Или перефразировать, когда пользователь открывает Угловой сайт, экземпляры приложения в браузере и остается в живых до тех пор, пока пользователь не покинет веб-сайт или не закроет браузер или?

В отдельном примечании лучше использовать службу для хранения глобальных переменных (например, зарегистрированное имя пользователя) или $ rootScope?

Спасибо!

+1

. Если возможно, ваши два вопроса должны быть разбиты на отдельные сообщения. –

ответ

3

Какова продолжительность жизни Agular в браузере?

Угловое приложение сохраняется, пока определенная вкладка/сайт не открыт. Если вы перейдете от него, а затем вернетесь к нему, для всех целей и задач, это новый экземпляр приложения. Вы могли бы имитировать постоянный сеанс, но это повлекло бы за собой выполнение собственной реализации.

Вот сообщение о сохранении данных на обновлении приложения, которое вы могли бы быть заинтересованы в - AngualrJS: sustaining data on html refresh

На отдельной записке лучше использовать сервис для хранения глобальных переменных (например, пользователь вошедшего имя) или $ rootScope?

Это хорошо документировано, и вы можете найти множество источников как здесь, так и в Интернете, но лучше использовать угловое обслуживание для обмена данными между различными контроллерами. Не рекомендуется загрязнять $ rootScope, если вы можете избежать этого.

Вот тот же вопрос, заданный на SO с решениями:

1

Если вы используете маршрутизацию угловой-й или другой способ загрузки представления, не перегружать страницу , то угловое приложение останется активным до тех пор, пока вы не покинете страницу (закрытие или обновление).
Каждый раз, когда вы загружаете страницу с помощью данных угловых его контроллера находится в исходном состоянии, так любое изменение данных в контроллере будет теряться при смене страницы (если вы не упорствовать его где-нибудь, то есть)

Что касается второго вопроса , лучшим способом должно быть получение данных пользователя после каждой смены страницы (чтобы проверить, не был ли пользователь еще включен в систему. Сохранение клиентской части данных пользователя, не проверяя, может ли оно оставаться действительным, может быть проблемой безопасности). Но в любом случае услуга - лучший способ хранения данных, чем использование rootScope

Смежные вопросы