0
所以我的問題是,我想預先加載我所有的子路由模塊。我有下面我的根路由模塊Angular 2 Eager Loading最大調用堆棧大小超出
RouterModule.forRoot(appRoutes, { preloadingStrategy: AppCustomPreloader })
AppCustomPreloader看起來如下
export class AppCustomPreloader implements PreloadingStrategy {
preload(route: Route, load: Function): Observable<any> {
try {
return route.data && route.data.preload ? load() : Observable.of(null);
}
catch (ex) {
console.log('error');
}
}
}
對於每個在我的嵌套路由模塊的路由的,我已經給每一個數據的屬性:「真正的」像下面
{
path: 'somepage',
loadChildren: './somedirectory/somemodule.module#SomeModule',
data: { preload: true }
}
一切預加載正確,但我得到‘最大調用堆棧大小在Firefox超出’鉻錯誤,‘太多遞歸’。
我有大約10個預裝的模塊,它們都比較小。問題是堆棧大小實際上太大或者是我缺少某種無限路由模塊負載的問題。調試2種可能性的好方法是什麼?
令人敬畏的啓用跟蹤允許我看到哪個特定的模塊失敗,並確信足以觸發遞歸加載。謝謝你的提示! – Monzingo