রিদওয়ান বিন শামীম
অ্যাপ এম এল কন্ট্রোলারের উদ্দেশ্য হল এপ্লিকেশনকে নিয়ন্ত্রণ করা।
কন্ট্রোলার যা যা করতে পারেঃ
- প্রারম্ভিক ডাটা সেট করা,
- এপ্লিকেশন ডাটা পরিবর্তন করা,
- ইনপুট এবং আউটপুট নিয়ন্ত্রণ করা,
- ডাটা ভ্যালিডেট করা,
- ডাটা সংক্ষেপ করা,
- ভুলক্রুটি নিয়ন্ত্রণ,
- এপ্লিকেশন শুরু ও শেষ করা,
- আরও অনেক কিছু করা যায় এর দ্বারা।
কন্ট্রোলার ব্যতিত
অ্যাপ এম এল এপ্লিকেশন বাই ডিফল্ট কন্ট্রোলার ব্যতিত রান করে।
উদাহরণ,
<table appml-data="customers.js">
<tr>
<th>Customer</th>
<th>City</th>
<th>Country</th>
</tr>
<tr appml-repeat="records">
<td>{{CustomerName}}</td>
<td>{{City}}</td>
<td>{{Country}}</td>
</tr>
</table>
কন্ট্রোলার সহ
জাভাস্ক্রিপ্টের সাহায্যে অ্যাপ এম এল এপ্লিকেশন কন্ট্রোলারসহ রান করানো যায়।
কন্ট্রোলার একটি জাভাস্ক্রিপ্ট ফাংশন যা আমরা প্রয়োগ করে থাকি।
appml-controller এট্রিবিউট দ্বারা প্রোগ্রামে কন্ট্রোলার ফাংশন বোঝানো হয়।
উদাহরণ,
<h1>Customers</h1>
<table appml-data="customers.js" appml-controller="myController">
<tr>
<th>Customer</th>
<th>City</th>
<th>Country</th>
</tr>
<tr appml-repeat="records">
<td>{{CustomerName}}</td>
<td>{{City}}</td>
<td>{{Country}}</td>
</tr>
</table>
<script>
function myController($appml) {
if ($appml.message == "display") {
if ($appml.display.name == "CustomerName") {
$appml.display.value = $appml.display.value.toUpperCase();
}
}
}
</script>
উপরের উদাহরণে কন্ট্রোলার (myControlller), “CustomerName” কে আপারকেস অক্ষরে পরিবর্তিত করে দেখিয়েছে।
কন্ট্রোলার থাকলে অ্যাপ এম এল কন্ট্রোলারে এপ্লিকেশন অবজেক্ট ($appml) পাঠায়, অত্যন্ত গুরুত্বপূর্ণ কার্যক্রম সম্পাদনের জন্য। এপ্লিকেশনের একটি বৈশিষ্ট্য হল ম্যাসেজ ($appml.message), যা এপ্লিকেশনের অবস্থা প্রকাশ করে।
| Message | Description |
| “ready” | অ্যাপ এম এল শুরুর পরে দেখায়, লোড করতে প্রস্তুত |
| “loaded” | অ্যাপ এম এল লোডেড, ডাটা দেখাতে প্রস্তুত |
| “display” | অ্যাপ এম এল কোনও ডাটা আইটেম দেখানোর আগে দেখায়। |
| “done” | অ্যাপ এম এল সম্পন্ন হওয়ার পর দেখায় |
| “submit” | অ্যাপ এম এল ডাটা সাবমিটের আগে দেখায় |
| “error” | অ্যাপ এম এল কোনও ভুলের সম্মুখীন হলে দেখায় |
পরবর্তী অধ্যায়গুলোতে পর্যায়ক্রমে ম্যাসেজের বিস্তারিত ব্যাখ্যা দেয়া হবে।
