Существует несколько способов, которыми приложения Ember обычно управляют состоянием в зависимости от контекста.
1) URL: все состояния в приложении Ember начинаются с URL, который также может включать параметры запроса. Доступ к URL обычно осуществляется через маршрут, и эти данные преобразуются во что-то полезное для приложения и передаются в компоненты.
2) Хранилище Ember Data: для вещей, которые сохраняются в хранилище (база данных и т.д. API, например) модель Ember Data и сопутствующее хранилище обеспечивают доступ к этому состоянию во всем приложении. Хранилище - это служба, к которой можно получить доступ из любого места приложения, и она предоставляет один и тот же экземпляр модели везде, где она запрашивается. Это означает, что если вы изменяете имя пользователя в одном месте, это отражается везде, где используется пользовательская модель.
3) Сервисы: более эфемерное состояние, что первые два могут храниться в сервисах, которые введен и доступен из любого места в приложении. Нет никаких правил для того, что может быть размещено в сервисе, в нашем приложении у нас есть все - от позиции прокрутки указанного c компонента до разрешения текущего пользователя.