У меня есть SPA со списком клиентов, отображаемым на целевой странице. У каждого клиента есть кнопка редактирования, которая, если щелкнуть, приведет меня к представлению «Редактировать» для выбранного клиента.Сохраняющаяся область по пересеченной местности
Я не уверен, как это сделать - все маршруты, которые я видел до сих пор, просто возьмут мой идентификатор клиента в $ routeParams, а затем большинство примеров вытащит Клиента с фабрики с помощью этого Идентификатора ,
Но у меня уже есть мой клиент ... кажется, отходы ударяют мой веб-сайт api снова, когда у меня его уже есть. Можно ли перейти на новое представление и сохранить выбранный клиент в области $? Edit: Это то, что я did- я не знаю, если это лучше или хуже, чем ответ Clarks ... Я просто сделал следующие угловые услуги:
app.service('clientService', function() {
var client = null;
this.getClient = function() {
return client;
};
this.setClient = function (selectedClient) {
client = selectedClient;
};
});
И тогда для любого контроллера, который нуждается в том, что данные :
$scope.client = clientService.getClient();
Это, казалось, отлично работает ... но хотелось бы услышать, как это хорошо или плохо.
Я думаю, что вы неправильно понимаете маршруты в угловом, они просто на стороне клиента, это не вызывает кругосветное путешествие на ваш сервер, это просто просмотр URL-адреса в браузере, когда это изменяется (используя хэш, чтобы избежать изменения местоположений фактически) угловой анализирует его и загружает шаблон и контроллер и передает по любым параметрам в routeParams новому контроллеру. – shaunhusain
Эта часть, которую я получаю, но контроллер, у которого был мой предыдущий $ scope с выбранным клиентом, теперь исчез. Я думаю, мне нужно использовать сервис, чтобы отслеживать состояние выбора, поскольку он является одиночным. – Nicros
Да, это, в основном, то, как я справляюсь с этим, бросил вместе скрипку, чтобы показать собственно конфигурационный файл маршрута: http://jsfiddle.net/mU266/ В основном, как я обрабатываю это, у меня есть служба, которая делает вызов сервер и сохраняет данные, то я использую routeParams для передачи идентификатора с одного контроллера на другой, служба, которую я написал, имеет метод поиска объектов по id. – shaunhusain