Обновление Angular. Как перейти к состоянию, определенному в Angularjs, из шаблона Angular?

В настоящее время я обновляю приложение Angularjs 1.6 до Angular 7. В рамках этой миграции мне нужно перейти к состоянию, определенному в Angularjs, из шаблона Angular. Как я могу достичь этого?

Я пробовал угловой гибридный маршрутизатор, но это не помогло.

Это состояние, определенное в модуле рецептов в Angularjs.

$stateProvider.state('recipes', { url: '/recipes', component: 'recipes', onEnter: ['$state', 'authService', ($state, authService) => { if(!authService.isLoggedIn()){ $state.go('login') } }] })

И я хочу перейти к указанному выше состоянию из шаблона Angular 7, как показано ниже, с помощью angular-hybrid-router.

  <a class="list-group-item"
     style="cursor: pointer;"
     ui-sref="recipes"
     *ngFor="let recipe of recipes; let i = index;">
    {{recipe.name}}
  </a>
</ul>

Ожидается, что вы перейдете к URL-адресу /recipes. Но это не делает и даже не выдает никаких ошибок.


person Santhosh Podduturi    schedule 04.06.2019    source источник
comment
Недостаточно информации для ответа. Вы используете ui-router в примере angular-js, но я не вижу логики маршрутизации во втором примере, только тег привязки с директивой ng-for.   -  person AlexMA    schedule 04.06.2019


Ответы (1)


Я не знаком с angular-hybrid; хотя на первый взгляд вполне вероятно, что модуль маршрутизации, регистрирующий состояние, не был импортирован в модуль, который связан с корневым модулем приложения. Директива uiSref может разрешить только зарегистрированное состояние, IIRC ui-sref не выдаст ошибку, если ваше значение ui-sref «недействительно» (читай: незарегистрировано).

person Mark Clark    schedule 04.06.2019