AngularJS Controllers

AngularJS কন্ট্রোলার - অ্যাপ্লিকেশন ডেটা নিয়ন্ত্রণ করে

AngularJS কন্ট্রোলার

AngularJS কন্ট্রোলার AngularJS অ্যাপ্লিকেশনের ডেটা নিয়ন্ত্রণ করে।

AngularJS কন্ট্রোলার হল প্লেইন জাভাস্ক্রিপ্ট অবজেক্ট।

টিপ:

AngularJS অ্যাপ্লিকেশন কন্ট্রোলার দ্বারা নিয়ন্ত্রিত হয়। এনজি-কন্ট্রোলার নির্দেশিকা একটি অ্যাপ্লিকেশন নিয়ামককে সংজ্ঞায়িত করে।

AngularJS উদাহরণ

HTML:

<div ng-app="myApp" ng-controller="myCtrl">

First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{firstName + " " + lastName}}

</div>

JavaScript:

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
});
</script>

ng-app="myApp"

AngularJS অ্যাপ্লিকেশন সংজ্ঞায়িত করে

ng-controller="myCtrl"

একটি AngularJS নির্দেশিকা যা একটি নিয়ামককে সংজ্ঞায়িত করে

myCtrl function

একটি জাভাস্ক্রিপ্ট ফাংশন

আবেদন বিবরণ

কন্ট্রোলার পদ্ধতি

উপরের উদাহরণটি দুটি বৈশিষ্ট্য সহ একটি নিয়ামক বস্তু প্রদর্শন করেছে:lastNameএবংfirstName.

একটি নিয়ামকের পদ্ধতিও থাকতে পারে (ফাংশন হিসাবে ভেরিয়েবল):

HTML:

<div ng-app="myApp" ng-controller="personCtrl">

First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{fullName()}}

</div>

JavaScript:

<script>
var app = angular.module('myApp', []);
app.controller('personCtrl', function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
    $scope.fullName = function() {
        return $scope.firstName + " " + $scope.lastName;
    };
});
</script>

দ্রষ্টব্য:

$scope.fullNameএকটি ফাংশন হিসাবে সংজ্ঞায়িত, এটি কন্ট্রোলারে firstName এবং lastName মানগুলির সংমিশ্রণ প্রদান করে।

এক্সটার্নাল ফাইলে কন্ট্রোলার

বড় অ্যাপ্লিকেশনগুলিতে, বহিরাগত ফাইলগুলিতে কন্ট্রোলার সংরক্ষণ করা সাধারণ।

<script>personController.js নামক একটি বাহ্যিক ফাইলে ট্যাগের মধ্যে কোডটি অনুলিপি করুন:

HTML:

<div ng-app="myApp" ng-controller="personCtrl">

First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{fullName()}}

</div>

External File Reference:

<script src="personController.js"></script>

গুরুত্বপূর্ণ:

বাহ্যিক নিয়ামক ফাইলগুলি ব্যবহার করার সময়, নিশ্চিত করুন যে AngularJS মডিউল এবং নিয়ামক সংজ্ঞা সঠিকভাবে সম্পন্ন হয়েছে।

আরেকটি উদাহরণ

পরবর্তী উদাহরণের জন্য আমরা একটি নতুন নিয়ামক ফাইল তৈরি করব:

namesController.js:

angular.module('myApp', []).controller('namesCtrl', function($scope) {
    $scope.names = [
        {name:'Jani',country:'Norway'},
        {name:'Hege',country:'Sweden'},
        {name:'Kai',country:'Denmark'}
    ];
});

HTML Application:

<div ng-app="myApp" ng-controller="namesCtrl">

<ul>
    <li ng-repeat="x in names">
        {{ x.name + ', ' + x.country }}
    </li>
</ul>

</div>

<script src="namesController.js"></script>

এনজি-রিপিট সম্পর্কে:

ng-repeatনির্দেশিকা একটি সারিতে প্রতিটি আইটেমের জন্য HTML কোড পুনরাবৃত্তি করে। এটি AngularJS-এর সবচেয়ে শক্তিশালী নির্দেশাবলীর একটি।

ব্যায়ামের মাধ্যমে শেখা

নিয়ন্ত্রক পদ্ধতি সম্পর্কে নিচের কোনটি সত্য?

কন্ট্রোলারের ফাংশন হিসাবে সংজ্ঞায়িত করা যেতে পারে
✓ ঠিক আছে! পদ্ধতি সংজ্ঞায়িত করা হয় $scope.fullName = function() {...}
ভিউতে {{ }} দ্বারা কল করা যেতে পারে
✓ ঠিক আছে! আপনি {{fullName()}} এর মত ভিউতে মেথড কল করতে পারেন
একটি নিয়ামক পদ্ধতি ধারণ করতে পারে না
✗ ভুল! নিয়ন্ত্রক পদ্ধতি থাকতে পারে
$স্কোপ অবজেক্টের মাধ্যমে অ্যাক্সেস করা হয়
✓ ঠিক আছে! সমস্ত নিয়ামক বৈশিষ্ট্য এবং পদ্ধতি $স্কোপের মাধ্যমে অ্যাক্সেস করা হয়

সর্বোত্তম অনুশীলন

বাহ্যিক ফাইল ব্যবহার করুন

বড় অ্যাপ্লিকেশনের জন্য, বহিরাগত জাভাস্ক্রিপ্ট ফাইলগুলিতে কন্ট্রোলার রাখুন

কন্ট্রোলার মিনিমাইজ করুন

প্রতিটি নিয়ন্ত্রকের শুধুমাত্র একটি নির্দিষ্ট দায়িত্ব থাকা উচিত

DOM ম্যানিপুলেশন এড়িয়ে চলুন

DOM ম্যানিপুলেশন সরাসরি কন্ট্রোলারে করা উচিত নয়

শুধুমাত্র $স্কোপ ব্যবহার করুন

শুধুমাত্র $স্কোপ সহ কন্ট্রোলারে অ্যাপ্লিকেশন ডেটা এবং পদ্ধতিগুলি সংজ্ঞায়িত করুন