После нажатия на ссылку URL-адрес изменяется, но навигация не начинается

angular router ngrx

232 просмотра

1 ответ

79 Репутация автора

Я только недавно перешел на роутер ngrx с роутера angular2. Также я использую угловой 2 RC4.

мои маршруты выглядят так:

export const: Routes = [
    {path: "appRoute1", component: "appComponent1", guards: [HashGuard, hasSelectedGuard]},
    {path: "appRoute2", component: "appComponent2", guards: [HashGuard, hasSelectedGuard]},
]

HashGuard имеет только одну функцию (и конструктор):

protectRoute(candidate : TravesalCandidate){
    if (!window.location.hash){
        this.router.go(HOME_ADDRESS);
    }
    return Observable.of(true);
}

аналогично, HasSelectedGuard имеет только одну функцию:

protectRoute(candidate : TravesalCandidate){
   if (!this.currentSelectionService.hasSelectedPerson()){
       this.router.go(HOME_ADDRESS);
       return Observable.of(false);
   }
   return Observable.of(true)
}

Я загружаю все, что нужно, как я должен:

bootstrap(AppComponent, [
    provideRouter(routes, HashLocationStrategy), 
    Router, 
    HashGuard, 
    CurrentSelectionService
]

У меня есть компонент sidemenu с несколькими ссылками, наряду с другими у меня есть appRoute1 и appRoute2:

<a [linkTo]="'/appRoute1'"> ... </a>
<a [linkTo]="'/appRoute2'"> ... </a>

Когда я нажимаю одну из ссылок, URL-адрес изменяется, как и предполагалось, но сама страница не загружается (после щелчка не отправляются запросы, а конструктор компонента не

Помощь с благодарностью.

Автор: Dan Bachar Источник Размещён: 18.07.2016 12:36

Ответы (1)


0 плюса

79 Репутация автора

Я закончил тем, что вернулся к компоненту Angular и использовал его router.navigate([URL]).

На момент написания статьи маршрутизатор NgRX все еще не работал.

Автор: Dan Bachar Размещён: 09.08.2016 08:02
Вопросы из категории :
32x32