Angular में द्वि-दिशात्मक इवेंट बाइंडिंग
Angular में दोनों कंपोनेंट्स की घटनाओं की द्वि-दिशात्मक बाइंडिंग भी की जा सकती है: माता-पिता और चाइल्ड। आइए चाइल्ड HTML टेम्पलेट में उपयोगकर्ता नाम की द्वि-दिशात्मक बाइंडिंग और नाम बदलने वाले फ़ंक्शन के साथ एक इनपुट बनाएं:
<input [ngModel]="userName" (ngModelChange)="onNameChange($event)" />
अपने चाइल्ड कंपोनेंट में जाएं और
इसमें @Input डेकोरेटर इम्पोर्ट करें।
यह इनपुट्स के साथ काम करने के लिए आवश्यक है:
import { Component, Input, Output, EventEmitter } from '@angular/core';
अगला @Input डेकोरेटर को
उपयोगकर्ता नाम से बाइंड करें। और @Output डेकोरेटर
को userNameChange ऑब्जेक्ट से बाइंड करें,
जिसे onNameChange फ़ंक्शन में कॉल किया जाएगा:
export class UserComponent {
@Input() userName: string = '';
@Output() userNameChange = new EventEmitter<string>();
onNameChange(model: string) {
this.userName = model;
this.userNameChange.emit(model);
}
}
अब मुख्य कंपोनेंट में जाएं और इसकी क्लास में नाम प्रॉपर्टी जोड़ें:
export class AppComponent {
name: string = 'alex';
}
और माता-पिता कंपोनेंट के HTML टेम्पलेट में
userName प्रॉपर्टी की द्वि-दिशात्मक बाइंडिंग करें
माता-पिता कंपोनेंट की name प्रॉपर्टी के मान के साथ:
<user-data [(userName)]="name"></user-data>
<p>You choose name: {{ name }}</p>
पाठ में दिए गए उदाहरण के अनुसार माता-पिता और चाइल्ड कंपोनेंट्स की घटनाओं की द्वि-दिशात्मक बाइंडिंग लागू करें।
पिछले कार्य के आधार पर उपयोगकर्ता की आयु की द्वि-दिशात्मक बाइंडिंग करें।