来自特定路由的不执行Nx的路由器导航

时间:2019-03-28 21:04:44

标签: angular angular2-routing ngrx ngrx-effects nrwl

在我的Angular应用中,我使用NgRx和Nx的路由器导航:

@Effect() navigation$ = this.dataPersistence.navigation(A_Component, {
    run: (a: ActivatedRouteSnapshot) => {
        const id = a.params.id;
        if (id) {
            return new SampleAction(State.VIEW, id);
        } else {
            return new SampleAction(State.NEW);
        }
    },
    onError: (a: ActivatedRouteSnapshot, e: any) => {
        console.error(e);
        return null;
    },
});

我的路线定义如下:

// ...
RouterModule.forChild([{
        path: 'configurator',
        component: FooComponent,
        canActivate: [AuthGuard],
        children: [{
            path: '',
            component: A_Component
        }, {
            path: 'b',
            component: B_Component,
        }, {
            path: 'c',
            component: C_Component,
        }, ],
    },
    {
        path: '',
        pathMatch: 'full',
        redirectTo: 'configurator'
    },
]),
// ...

FooComponent具有<router-outlet></router-outlet>,以显示3个组件A_ComponentB_ComponentC_Component之一。 因此,当用户导航到configurator/时,FooComponent显示A_Component并触发SampleAction。很好。

但是:当用户从configurator/bconfigurator/c导航回到configurator时,SampleAction应该被触发。

我该怎么办?

0 个答案:

没有答案