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

পূর্ববর্তী টাস্কের ভিত্তিতে ব্যবহারকারীর বয়সের দ্বিমুখী বাইন্ডিং করুন।