2016-12-30 65 views
1

我學習Angular 2.我面臨着將數據傳輸到父組件的任務.in官方文檔是使用@ input.No編寫的,但我不明白爲什麼angular 2的開發人員需要它?。爲什麼不在@ INPUT中進行傳輸。爲什麼添加@Input?在文檔中解釋我不清楚角2輸入裝飾器爲什麼需要它?

+0

看看這裏:http://stackoverflow.com/questions/41318575/angular-2-typescript-input-output-or-input-output/41319049#41319049 – Milad

回答

2

要定義組件的輸入,請使用@Input修飾器。

例如組件需要用戶參數來描繪關於該用戶的信息:

<user-profile [user]="currentUser"></user-profile> 

所以,你需要添加一個@input結合用戶:

import { Component, Input } from '@angular/core'; 

@Component({ 
    selector: 'user-profile', 
    template: '<div>{{user.name}}</div>' 
}) 
export class UserProfile { 
    @Input() user; 
    constructor() {} 
} 
0

綁定在組件模板一樣[inputProp]="someValue"僅適用於@Input() inputProp;或具有匹配名稱的HTML元素的本機屬性。

我只是猜測,但2條的解釋,我想起

  • 更高效的代碼或代碼生成 如果需要進行明確的性質,這使得更高效的代碼

  • 更好的支持對於工具 這允許工具檢查代碼中的錯誤,在編寫模板時提供自動完成功能,以及可能更多

相關問題