Angularjs + UI-Router: навигация в соответствии с HREF, а не UI-SREF

0

Нужно ли "заставить" ui-router посещать ссылку в соответствии со своим атрибутом "href"? Я имею в виду, что у меня есть якорный тег: <a href="#mystate/89/10/items" ui-sref="my.category.subcategory.items({sub_category_id: 10})">Link</a>. Когда я нажимаю на него, я не знаю, что происходит за кулисами, и как работает маршрутизатор, но я получаю сообщение об ошибке, отсутствующее в некоторых состояниях $stateParams. С другой стороны, при открытии этой ссылки на новой вкладке все идет так, как ожидалось. Поэтому я хочу найти способ "игнорировать" sref и заставить ссылку вести себя так, как будто она открыта на новой вкладке.

  • 1
    Вы не можете соединить href и ui-sref вместе, один или другой, но не оба. Тогда вам будет полезно посмотреть конфигурацию ваших маршрутов.
Теги:
angular-ui-router

1 ответ

2

Что происходит за кулисами, так это то, что ui-router создает href на основе вашего состояния, которое вы прошли через ui-sref. Не используйте оба параметра href и ui-sref на вашем <a>. Если вы хотите игнорировать sref, просто удалите его из кода.

Что касается ошибки, $stateParams отсутствует, разделите код контроллера. По-видимому, ваш контроллер ожидает некоторые параметры, которые, как я полагаю, является sub_category_id: 10 на основе параметров ui-sref.

  • 0
    Я не использую их вместе. Это сгенерированный "HREF". В моем коде есть только UI-SREF.
  • 0
    Разве ссылка, созданная в href такая же, как вы ожидаете, что ваш ui-sref создаст для вас? ui-sref="my.category.subcategory.items({sub_category_id: 10})" создает href="#mystate/89/10/items" . Так разве это не та ссылка, которую вы ожидаете?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню