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>
পাঠে দেওয়া উদাহরণ অনুসারে প্যারেন্ট এবং চাইল্ড কম্পোনেন্টের ইভেন্টের দ্বিমুখী বাইন্ডিং বাস্তবায়ন করুন।
পূর্ববর্তী টাস্কের ভিত্তিতে ব্যবহারকারীর বয়সের দ্বিমুখী বাইন্ডিং করুন।