Angular में द्वि-दिशात्मक इवेंट बाइंडिंग

Angular में दोनों कंपोनेंट्स की घटनाओं की द्वि-दिशात्मक बाइंडिंग भी की जा सकती है: माता-पिता और चाइल्ड। आइए चाइल्ड HTML टेम्पलेट में उपयोगकर्ता नाम की द्वि-दिशात्मक बाइंडिंग और नाम बदलने वाले फ़ंक्शन के साथ एक इनपुट बनाएं:

app/user/user.component.html<input [ngModel]="userName" (ngModelChange)="onNameChange($event)" />

अपने चाइल्ड कंपोनेंट में जाएं और इसमें @Input डेकोरेटर इम्पोर्ट करें। यह इनपुट्स के साथ काम करने के लिए आवश्यक है:

app/user/user.component.tsimport { Component, Input, Output, EventEmitter } from '@angular/core';

अगला @Input डेकोरेटर को उपयोगकर्ता नाम से बाइंड करें। और @Output डेकोरेटर को userNameChange ऑब्जेक्ट से बाइंड करें, जिसे onNameChange फ़ंक्शन में कॉल किया जाएगा:

app/user/user.component.tsexport class UserComponent {
  @Input() userName: string = '';
  @Output() userNameChange = new EventEmitter<string>();
  onNameChange(model: string) {
    this.userName = model;
    this.userNameChange.emit(model);
  }
}

अब मुख्य कंपोनेंट में जाएं और इसकी क्लास में नाम प्रॉपर्टी जोड़ें:

app/app.component.tsexport class AppComponent {
  name: string = 'alex';
}

और माता-पिता कंपोनेंट के HTML टेम्पलेट में userName प्रॉपर्टी की द्वि-दिशात्मक बाइंडिंग करें माता-पिता कंपोनेंट की name प्रॉपर्टी के मान के साथ:

ap.component.html<user-data [(userName)]="name"></user-data>
<p>You choose name: {{ name }}</p>
Задание 1

पाठ में दिए गए उदाहरण के अनुसार माता-पिता और चाइल्ड कंपोनेंट्स की घटनाओं की द्वि-दिशात्मक बाइंडिंग लागू करें।

Задание 2

पिछले कार्य के आधार पर उपयोगकर्ता की आयु की द्वि-दिशात्मक बाइंडिंग करें।