Сообщение от NugzarGaguliya
|
Использовать вместе ui-sref & ng-click не лучшая практика
Если вам нужно выполнять какие-то действия по перехду на стейт, то объявите в этом стейте контроллер и выполняйте все нужные операции там.
|
Таки бывают случаи, когда нужно выполнить какие-то действия ДО перехода на указанный стейт, в контексте контроллера текущего стейта, а не нового. Например, дабы не цеплять к контроллеру целевого стейта избыточную для него инфраструктуру (сервисы, переменные текущего контроллера и т.п.). У нас в проекте уже неоднократно вставал вопрос о написании ещё одной директивы для ui-router'а, которая бы сначала выполняла указанную функцию, а потом уже переходила по ссылке. (но пока руки не дошли. возможно когда-нибудь..).
ng-click, вызывающий функцию, в конце которой вызывается $state.go(...) - не вполне подходит по СЕО соображениям, ибо не генерит ссылку (href) в DOM-элементе. (Для индексации сайта поисковиками используем phantomJS, генерирующий статические копии "ангулар-страниц". Ну и... фантом не настолько умён, чтоб самостоятельно добыть ссылку из js-кода, да ещё и динамичски генерируюмую роутером из имени стейта... )