2016-07-18 122 views
3

角1.5引入components什麼時候應該使用組件而不是指令?

在角,組件是一種特殊的指令,使用更簡單的配置,它適合用於基於組件的應用程序結構。

我真的似乎沒有發現任何優勢,使用它們的指令。從我所知道的情況來看,它們具有較少的特徵(例如,不再有compilelink函數),並且引入了一些稍微不同的語法。

使用它的文檔,因爲它「更簡單」,並將幫助轉換到Angular 2,但我們仍然在Angular 2中有指令,對吧?我是否有理由將我的指令轉換爲Angular 1.5應用程序中的組件?

回答

5

Angular 2

組件具有視圖,它的一部分的UI。 一條指令沒有。

這就是這麼簡單,如果你的元素有一個視圖/模板,那麼它的一個組件。 如果只需要獲取元素,請更改attribtues,註冊到events - >指令。

Angular 1

在angular 1中,組件是指令的外觀。換句話說,一個組件(角度爲1.5+)是創建指令的工廠。使用組件是最佳實踐,因爲它會以「正確」的方式創建指令。 Angular1中的指令是超級可配置的,並且有很多選項會導致實現效果差以及角度不良的PR值較差。因此,組件被添加以幫助開發人員以正確的方式創建指令(沒有範圍,控制器一致等)。 )

+0

我應該提到我沒有使用Angular 2.這個答案是否適用於Angular 1.5? – adamdport

+0

不,這個答案僅適用於Angular 2. 在angular 1中,組件是用於指令的'facade'。換句話說,一個組件(角度爲1.5+)是創建指令的工廠。使用組件是最佳實踐,因爲它會以「正確」的方式創建指令。 Angular1中的指令是超級可配置的,並且有很多選項會導致實現效果差以及角度較差的PR: 因此,添加了**組件**以幫助開發人員以正確的方式創建指令(沒有範圍,一致控制器等等) –

+0

除了提及,你應該刪除'angular2'標籤。 –

相關問題