我正在尝试使用Angular2,当我将基本代码升级到Angular 2.0.0-RC5时,我发现引入了一个突破性的变化,@ NgModule,相当于 angular.moudle()在Angularjs 1.x?
对我来说,@ ngModule让事情变得复杂。
当我使用Angular 1.x时,社区中有一些关于angular.module的抱怨,因为存在一些javascript模块系统。
默认情况下,Angular-cli生成的代码基于SystemJS,我们可以使用Typescirpt来组织源代码的结构。
为什么我们需要@NgModule,它是运行时应用程序组织的逻辑视图?
我假设为Angular2指定了基于模块的体系结构的@NgModule,并且@ngModule可以在不同的应用程序中重用。与我过去几年使用的其他模块/ bundle / plugin框架相比。它缺乏一些功能。
为什么路由配置由RouteModule.forRoot()(或forChild)注册,而不是@NgModule注释的路由属性,如下所示。
@NgModule(route:{prefix:'/comment', config: commentRouteConfigs})
export class CommentModule{}
目前,@ NuModule API耦合路由配置。
如何在主机模块中导入模块时覆盖@NgModule中定义的组件模板。
感谢。
答案 0 :(得分:3)
据我所知ALTER TABLE YourTableName
ADD CONSTRAINT UK_Name_Hobby1_Hobby2 UNIQUE (Name, Hobby1,Hobby2);
主要是为了正确支持路由器延迟加载路由和组件。
NgModule
的导入和导出与TS导入和导出无关。它主要是关于依赖注入和编译模板。
不知道
不明白这个问题
Angular2根本不支持覆盖模板。有一些构建工具允许这样做,但Angular2本身并没有提供任何帮助。
我已经看到在讨论中提到的模块生命周期回调但却找不到具体的东西(如https://github.com/angular/angular/issues/10808#issuecomment-239823985)
我想这是可能的,但我不知道Angular2团队是否考虑过这个。