Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.08.2015, 23:16
Аспирант
Отправить личное сообщение для Boogie1989 Посмотреть профиль Найти все сообщения от Boogie1989
 
Регистрация: 21.10.2014
Сообщений: 37

траблы с ui-router, а точнее с $stateParams
Есть вот такой вот линк
ui-sref="anon.items.category({category:pane.product_Category })" ng-click="getCategoryId(pane.product_Category)"

который добавляет в строку .../category и вызывает метод который должен отослать в Api данные с category. Так вот, в этом методе $stateParams при первом нажатии выдает undefined, а при втором, ту категорию которую выбирали в первый раз. В чём проблема? Кто знает, кто поможет?

Последний раз редактировалось Boogie1989, 25.08.2015 в 23:18.
Ответить с цитированием
  #2 (permalink)  
Старый 11.09.2015, 09:52
Новичок на форуме
Отправить личное сообщение для NugzarGaguliya Посмотреть профиль Найти все сообщения от NugzarGaguliya
 
Регистрация: 11.09.2015
Сообщений: 1

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

Если вам нужно выполнять какие-то действия по перехду на стейт, то объявите в этом стейте контроллер и выполняйте все нужные операции там.
Ответить с цитированием
  #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-кода, да ещё и динамичски генерируюмую роутером из имени стейта... )
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jq Router необязательный параметр Andrei jQuery 0 08.11.2011 12:21