我最近开始玩角度2,发现它真的很棒。然而,我发现自己在做重复的事情,比如在任何地方导入所有类型的组件。
我有以下代码:
/************** my.module.ts **************/
import { MyRoutingModule } from './my-routes.module';
// these imports are done twice
import { FirstComponent } from 'components/first.component';
import { SecondComponent } from 'components/second.component';
import { ThirdComponent } from 'components/third.component';
...
@NgModule({
...
imports: [ MyRoutingModule ],
declarations: [
FirstComponent, SecondComponent, ThirdComponent
]
})
export class MyModule { }
/************** my-routes.module.ts **************/
import { FirstComponent } from 'components/first.component';
import { SecondComponent } from 'components/second.component';
import { ThirdComponent } from 'components/third.component';
const routes: Routes = [
{ path: 'first', component: FirstComponent },
{ path: 'second', component: SecondComponent },
{ path: 'third', component: ThirdComponent },
...
];
@NgModule({
imports: [
RouterModule.forChild(routes)
],
exports: [
RouterModule
]
})
export class MyRoutingModule { }
我有相当多的组件需要导入两次,在路由模块和模块本身中,前者用于声明输入,后者用于计数目的。
我知道我可以拥有一个共享模块,可以导出我所有的常用组件,然后将该模块导入到我需要的地方,这很好。我知道这种方法是为了避免在任何地方重新导入相同的组件,但为了路由,我需要在同一个文件中完成导入,以便可以识别和使用组件类。
这是一个更好的方法吗?