Angular 2:共享相同解析器的兄弟姐妹子路由
发布时间:2020-12-17 17:22:30 所属栏目:安全 来源:网络整理
导读:我想弄清楚是否有一种更优化的方式在两个同级儿童路线之间共享相同的解析器.以下是路线与解析器相关的示例. import { CommonModule } from '@angular/common';import { RouterModule } from '@angular/router';import { NgModule } from '@angular/core';exp
我想弄清楚是否有一种更优化的方式在两个同级儿童路线之间共享相同的解析器.以下是路线与解析器相关的示例.
import { CommonModule } from '@angular/common'; import { RouterModule } from '@angular/router'; import { NgModule } from '@angular/core'; export const routes = [{ path: '',component: parentComponent,canActivate: [AuthGuard],resolve: { someData: someDataResolver },children: [ { path: '',redirectTo: '0',pathMatch: 'full' },{ path: '0',component: someComponent1,resolve: { someData1: someData1Resolver,someData2: someData2Resolver,} },{ path: '2',component: someComponent2,resolve: { someData2: someData2Resolver } } ... a bunch more children routes/components with resolvers ] }] 现在,我正在重复每个儿童路线的解析器呼叫,我认为这不是最佳的.有谁知道是否有更好的方法来共享共享兄弟儿童解析器的数据?我考虑将数据从重复的解析器设置为共享服务,然后另一个子兄弟路由将从服务访问数据(而不是在解析器中进行另一个api调用).还有其他更优化的解决方案吗? 解决方法
您可以使用无组件父路线添加其他级别,并将解析器向上移动到此级别:
import { CommonModule } from '@angular/common'; import { RouterModule } from '@angular/router'; import { NgModule } from '@angular/core'; export const routes = [{ path: '',resolve: { someData2: someData2Resolver },children: [ { path: '',resolve: { someData1: someData1Resolver,} },} ... a bunch more children routes/components with resolvers ] ] }] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |