我有我用来加载模块列表的服务:
row.priceList = row.pricePurchase + (row.pricePurchase * row.markUp / 100);
然后在我的模块文件中,我想像这样使用它:
render() {
const { isLoaded } = this.state;
if (!isLoaded) {
return <div>Loading..</div>;
return (
<div className="main-container">
<div className="sub-list">
<div>
{this._buildCrimesList()}
</div>
</div>
</div>
)
}
当然这是错误的,因为我不需要直接访问我的服务
建议吗
答案 0 :(得分:0)
您可以使用canLoad
后卫和LazyLoading。您可以从canLoad
答案 1 :(得分:0)
使用lazyLoading
实现这一目标 export class LoadGuard implements CanLoad {
constructor(private myService : MyService , private router: Router) {
}
canLoad(route: Route): boolean {
if (this.myService.canBeLoaded()) {
return true;
} else {
return false;
}
}
{
path: 'test',
loadChildren: 'app/test/test.module#TestModule',
canLoad: [LoadGuard]
},