2016-08-18 33 views
0

我剛剛升級到angular2 RC5並將此文章紅色化爲@NgModules
https://angularjs.blogspot.de/2016/08/angular-2-rc5-ngmodules-lazy-loading.html@NgModules是否通過在根級別聲明指令,服務等來結合?

隨着@NgModules組件,指令,服務等宣佈對模塊根級別獲得。我的想法是:我們是不是試圖去分解思想,我們是不是試圖歸檔那些甚至可以使用它自己的建築組件?

如果我現在有一個組件,例如在「容器」組件「Notes」中使用的「NoteCard」組件,那麼該怎麼辦?

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」 變成了 「注意事項」。通過它,我們可以單獨使用「NoteCard」(當然它沒有依賴關係),「Notes」結合「NoteCard」,因爲它是它自己的依賴。

隨着RC5我必須注入「NoteCard」到@NgModule根級別。因此,我總是需要一個額外的級別,如果它變得更復雜,它可能會高於依賴關係注入的幾個級別。

在項目中使用多個@NgModule是否合理?在我的情況下,每個「容器」組件應該是@NgModule嗎?

回答

1

確定有多個模塊是有意義的!否則,你不會使用這個新功能的好處。

請閱讀這篇文章:https://angular.io/docs/ts/latest/guide/ngmodule.html

它很長,是的..但也有很多例子,代碼片段和plunkers。

在現場演示中,您將看到不同的模塊,有時候裏面只有一個組件,有時還有更多。你決定哪些組件可見(導出)到你的模塊外部。

+0

太好了,謝謝!我不知道那篇文章。 – Yves

+0

因爲它被用在任何地方,所以我想我可以把它放在主要的app.module中。我已經有了一個共享模塊,所以我只是像你所建議的那樣把它放在那裏。 –

相關問題