2016-03-24 6 views
0

Я довольно новичок в угловой, так что медведь со мной. :-) У меня есть список контактов в одном представлении. Я собрал сервис с некоторыми функциями setter и getter для хранения идентификатора контакта. Когда пользователь нажимает на контакт в представлении списка, он устанавливает идентификатор в службе и переходит к виду формы редактирования. Это работает хорошо, но когда я закончил редактирование и нажмите, чтобы вернуться к списку, я хочу очистить переменные в службе. Как мне это сделать? Я нашел еще один ответ на эту тему, но я думаю, что он использует встроенный угловой маршрутизатор вместо ui-router.Angular - Как я могу очистить заводские переменные при изменении вида?

Angular updating and clearing factory variables

Кроме того, не метод в этом ответе также очистить переменные, когда пользователь перемещается из списка в форме редактирования в первую очередь?

Спасибо!

+0

Почему вы хотите сохранять эту информацию в службе? Я бы сохранил коллекцию в службе и рассказал, какой элемент следует искать с помощью параметров маршрута. –

+0

Как я уже сказал, я новичок в угловой. Из того, что я собрал, чтобы передавать информацию с одного контроллера на другой, мне нужно было воспользоваться услугой. Позвольте мне повторить: я новичок. :-D Если вы можете дать мне более подробную информацию о лучшем пути, я все уши ... э ... глаза. Благодаря! – Mattaton

+0

Урок angularjs имеет отличный пример https://docs.angularjs.org/tutorial. Тем не менее, angularjs имеет зияющую дыру, где должен быть уровень бизнес-логики. Я думаю, что большинство продвинутых разработчиков завершают создание. –

ответ

1

Если это изменение маршрута вы можете использовать $ locationChangeStart см $location

Например, в контроллере редактирования зарегистрироваться на мероприятие по изменению маршрута:

var onloc = $scope.$on('$locationChangeStart', function (event, newUrl, oldUrl) {     
    myService.cleanUp(whatever); 
    onloc();   
}); 
+0

Является синтаксисом синтаксиса "=>"? Мой редактор задыхается. – Mattaton

+0

Пришлось изменить на: '$ scope. $ On ('$ locationChangeStart', function (event, newUrl, oldUrl)', но это сработало. Спасибо! – Mattaton

+0

Да, жаль, что я использую TypeScript, просто набрал его на лету , рад, что он решил. Я удалил сахар в образце кода. – RamblinRose

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