在数据库

时间:2018-01-17 04:36:56

标签: angular typescript

想检查一下我们如何在数据库中存储路径。 e.g。

const routes: Routes = [
{
    path: 'url-of-component
    component: ABCComponent
}

我们如何将ABCComponent存储到mySQL DB中?或者,如何根据组件的路径解析组件(例如/component/abc.component.ts)

1 个答案:

答案 0 :(得分:0)

您可以使用resetConfig动态加载路线:

constructor(router:Router, http:HttpClient) {
    this.http.get('/routes').subscribe(t=> {
          this.router.resetConfig(t);
    });    
}

确保将任何动态加载的组件添加到您的应用模块的entryComponents

entryComponents: [MyDynamicComponent,...]

或者,如果您拥有可以从数据库检索的数组中的所有路由,则可以通过entryComponents数组将它们全部添加到providers作为引导过程的一部分:

@NgModule({
    ...
    providers: [
        { provide: ANALYZE_FOR_ENTRY_COMPONENTS, multi: true, useValue: routes }
    ]
})