ডাটা বাইন্ডিং Angular অ্যাপ্লিকেশনের একটি গুরুত্বপূর্ণ বৈশিষ্ট্য, যার মাধ্যমে আপনি কম্পোনেন্টের ডেটা ও UI (User Interface) এর মধ্যে সম্পর্ক তৈরি করতে পারেন। ডাটা বাইন্ডিং মূলত ডেটা এবং UI এর মধ্যে একে অপরকে আপডেট করার প্রক্রিয়া। Angular-এ বিভিন্ন ধরনের ডাটা বাইন্ডিং রয়েছে, যেমন ইন্টারপোলেশন (Interpolation), প্রোপার্টি বাইন্ডিং (Property Binding), ইভেন্ট বাইন্ডিং (Event Binding) এবং টু-ওয়ে বাইন্ডিং (Two-way Binding)।
ইন্টারপোলেশন হলো Angular এর একটি ডাটা বাইন্ডিং পদ্ধতি, যেখানে কম্পোনেন্টের প্রোপার্টির মানকে HTML টেম্পলেটের মধ্যে সন্নিবেশিত করা হয়। এটি সাধারণত {{ }}
(কুর্লি ব্র্যাকেটস) সাইন ব্যবহার করে।
<h1>{{ title }}</h1>
এখানে {{ title }}
কম্পোনেন্টের title
প্রপার্টি থেকে মান নিয়ে টেম্পলেটের মধ্যে প্রদর্শিত হবে।
প্রোপার্টি বাইন্ডিং একটি Angular বৈশিষ্ট্য, যার মাধ্যমে আপনি কম্পোনেন্টের ডেটাকে HTML ট্যাগের প্রপার্টির সাথে বাইন্ড করতে পারেন। প্রোপার্টি বাইন্ডিং করতে [ ]
(স্কয়ার ব্র্যাকেট) ব্যবহার করা হয়।
<img [src]="imageUrl">
এখানে [src]
হল প্রোপার্টি বাইন্ডিং, যা imageUrl
কম্পোনেন্টের প্রপার্টি থেকে মান নিয়ে img
ট্যাগের src
অ্যাট্রিবিউট হিসেবে ব্যবহার করবে।
ইভেন্ট বাইন্ডিং Angular-এ একটি পদ্ধতি, যার মাধ্যমে আপনি HTML এলিমেন্টে একটি ইভেন্ট (যেমন: ক্লিক, কীবোর্ড ইভেন্ট, ইত্যাদি) হ্যান্ডল করার জন্য কম্পোনেন্টের মেথড কল করতে পারেন। এটি ( )
(প্যারেনথেসিস) ব্যবহার করে।
<button (click)="onClick()">Click Me</button>
এখানে (click)
হল ইভেন্ট বাইন্ডিং, যা ব্যবহারকারীর ক্লিক ইভেন্টকে onClick()
মেথডের সাথে যুক্ত করবে।
টু-ওয়ে বাইন্ডিং হলো একটি পদ্ধতি যার মাধ্যমে কম্পোনেন্টের ডেটা এবং UI একে অপরের সাথে সিঙ্ক্রোনাইজ থাকে। অর্থাৎ, যখন UI তে কোনো পরিবর্তন হয়, তখন তা কম্পোনেন্টে প্রতিফলিত হয় এবং vice versa। Angular-এ ngModel
ডিরেক্টিভ ব্যবহার করে টু-ওয়ে বাইন্ডিং করা হয়।
<input [(ngModel)]="name">
<p>{{ name }}</p>
এখানে [(ngModel)]
হল টু-ওয়ে বাইন্ডিং, যেখানে name
প্রপার্টি ইনপুট ফিল্ডের মান পরিবর্তন হলে আপডেট হবে এবং ইনপুট ফিল্ডে name
প্রপার্টির মান পরিবর্তন হলে তা UI তে প্রদর্শিত হবে।
ngModel
ব্যবহার করে করা হয়, যেটি সাধারণত ফর্ম ইনপুট, চেকবক্স, রেডিও বাটন ইত্যাদি ক্ষেত্রে ব্যবহৃত হয়।বাইন্ডিং টাইপ | সিঙ্ক্রোনাইজেশন | ব্যবহারের উদাহরণ |
---|---|---|
ইন্টারপোলেশন | কম্পোনেন্ট থেকে UI | {{ title }} |
প্রোপার্টি বাইন্ডিং | কম্পোনেন্ট থেকে DOM | [src]="imageUrl" |
ইভেন্ট বাইন্ডিং | UI থেকে কম্পোনেন্ট | (click)="onClick()" |
টু-ওয়ে বাইন্ডিং | কম্পোনেন্ট ↔ UI | [(ngModel)]="name" |
Angular ডাটা বাইন্ডিং পদ্ধতিগুলি খুবই শক্তিশালী এবং এই পদ্ধতিগুলির মাধ্যমে আপনি UI এবং কম্পোনেন্টের ডেটার মধ্যে সম্পর্ক তৈরি করতে পারেন। এগুলি ব্যবহার করে আপনি একটি ডাইনামিক এবং ইন্টারঅ্যাকটিভ অ্যাপ্লিকেশন তৈরি করতে পারেন, যেখানে কম্পোনেন্টের ডেটা স্বয়ংক্রিয়ভাবে UI তে প্রতিফলিত হয় এবং ব্যবহারকারীর ইনপুটের মাধ্যমে ডেটা পরিবর্তিত হয়।