3
私はAngular2を学んでいます。私は@Inputと@Outputを見つけました。両者の違いは何ですか?Angular2の@Inputと@Outputの違いは何ですか
私はAngular2を学んでいます。私は@Inputと@Outputを見つけました。両者の違いは何ですか?Angular2の@Inputと@Outputの違いは何ですか
@Input()
ここ成分
class ChildComponent {
@Input() data;
}
@Component({
template: `<child [data]="parentData"></child>
})
class ParentComponent {
parentData;
}
にでをParentComponent
データを通過させることである@Input()
プロパティによって子にデータを渡しています。 [data]
は、子コンポーネント内のプロパティと同じ名前です。あなたは、プロパティ名とは異なる名前を使用したい場合は、@Input('diff-name')
@Output
を使用することができ、データを発するようです(イベント)ChildComponent
ここでコンポーネント
class ChildComponent {
@Output() dataChange = new EventEmitter();
click() {
dataChange.emit('new Value');
}
}
@Component({
template: `<child (dataChange)="onDataChange($event)"></child>
})
class ParentComponent {
onDataChange(event) {
console.log(event);
}
}
からアウトは、それ@Output
を持っていますにイベントを送信します。親はリスンしてコールバックを(dataChange)
に渡します。子がイベントを発行するたびに、親コールバックがイベントの受け渡しと呼ばれます。
ありがとうございます@peeskillet、いつ私たちはEventEmitterを使用する必要がありますか。どのようなタイプのニーズが解決しますか? – Oladapo
親にいくつかの値を出力したいユースケースはいくつでもかまいません。おそらく、プロジェクトの構築を開始するだけです。あなたはこの状況に遭遇する可能性が最も高いでしょう、そして、あなたはその "AHAHの瞬間"にぶつかり、EventEmitterが完璧であることを実現します:-)。 '(something)=" callback() "'が見えるときはいつでも、イベントの後ろにEventEmiiterがあることを知っています。それはあなたにいくつかの洞察を与えるかもしれない –
EventEmitter e @OutPut semper andam juntos? +1 – cura