小编Szy*_*mon的帖子

Angular:如何根据服务在同一路径上路由不同模块

ABService想象一个具有方法isAResponsible: () => boolean和两个模块的服务:AModuleBModule​​ 。

问题是:是否可以根据返回值在AModule和之间进行切换?如果值发生变化,我们如何“重新路由”和重新渲染?可能对其他服务有多种依赖关系,因此最好以某种方式使用 DI 系统。BModuleisAResponsibleisAResponsibleABService

示例:如果感兴趣的路线是/aorbABService.isAResponsible返回true,那么我们希望路线AModule。然而,如果ABService.isAResponsible返回,false我们希望BModule管理进一步的路由。请注意,一切都应该发生在共享路线上。

我尝试与守卫和canActivate/canLoad但没有成功:

应用程序模块.ts

import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { BrowserModule } from '@angular/platform-browser';

import { AppComponent } from './app.component';
import { AorBActivateGuard } from './aorb-activate.guard';
import { ABService } from './ab.service'; …
Run Code Online (Sandbox Code Playgroud)

routes module angular

5
推荐指数
1
解决办法
2108
查看次数

标签 统计

angular ×1

module ×1

routes ×1