【发布时间】:2017-09-14 19:13:09
【问题描述】:
我刚升级到angular2 RC5,红了这篇关于@NgModules的文章。
https://angularjs.blogspot.de/2016/08/angular-2-rc5-ngmodules-lazy-loading.html
使用@NgModules,组件、指令、服务等在模块根级别上得到声明。我对此的想法是:我们不尝试解耦想法,我们不尝试归档甚至可以被自己使用的构建组件吗?
如果我现在有一个在“容器”组件“Notes”中使用的组件,例如“NoteCard”,该怎么办。
记事卡:
import {Component} from "@angular/core";
@Component({
selector: 'note-card',
styleUrls: ['app/ui/note-card/note-card.css'],
templateUrl: 'app/ui/note-card/note-card.html'
})
export class NoteCard {}
注意事项:
import {Component} from "@angular/core";
import {NoteCard, NoteCreator} from "../../ui";
import {NotesService} from "../../services";
@Component({
selector: 'notes-container',
directives: [
NoteCard
],
styleUrls: ['app/containers/notes/notes.css'],
templateUrl: 'app/containers/notes/notes.html'
})
export class Notes {}
在 RC4 中,我们只需将“NoteCard”注入“Notes”。这样我们就可以单独使用“NoteCard”(当然它没有依赖项)和“Notes”与“NoteCard”结合使用,因为它是它自己的依赖项。
使用 RC5,我必须将“NoteCard”注入@NgModule 根级别。有了这个,我总是需要一个额外的级别,如果它变得更复杂,它可能会比注入依赖项的位置高几个级别。
在一个项目中使用多个@NgModule 有意义吗?在我的情况下,每个“容器”组件都应该是@NgModule吗?
【问题讨论】:
标签: angular typescript