Показать сообщение отдельно
  #3 (permalink)  
Старый 19.09.2015, 21:00
Аватар для MetaDriver
Аспирант
Отправить личное сообщение для MetaDriver Посмотреть профиль Найти все сообщения от MetaDriver
 
Регистрация: 24.04.2014
Сообщений: 66

Сообщение от NugzarGaguliya Посмотреть сообщение
Использовать вместе ui-sref & ng-click не лучшая практика

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