وباکا

آموزش تخصصی برنامه نویسی وب

کنترل کننده های AngularJS داده های مربوط به برنامه های AngularJS را کنترل می کنند.  در این جلسه با کنترل کننده های انگولار جی اس آشنا می شوید.

  • کنترل کننده های AngularJS قطعه کدهای منظمی از جاوا اسکریپت هستند.
  • برنامه های AngularJS توسط کنترل کننده ها کنترل می شوند.
  • دایرکتیو ng-controller کنترل کننده برنامه را تعریف می کند.

 

یک کنترل کننده یک شیء جاوا اسکریپت است که توسط یک سازنده شیء استاندارد جاوا اسکریپت ایجاد شده است.

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

توضیح برنامه:

برنامه AngularJS توسط ng-app = “myApp” تعریف شده است. این برنامه در داخل <div> اجرا می شود.
ویژگی ng-controller = “myCtrl” یک دایرکتیو AngularJS است که  کنترل کننده را تعریف می کند.
myCtrl یک تابع جاوا اسکریپت است.
AngularJS یک کنترل کننده با شیء scope$ را بیدار خواهد کرد.
در AngularJS،متغیر $scope، یک شیء برنامه است (که دارای متغیرها و توابع برنامه است).
کنترل کننده دو ویژگی (متغیر) را در دامنه (firstName and LastName) ایجاد می کند.
دایرکتیوهای ng-model ،  فیلدهای ورودی را به خواص کنترل کننده (firstName وlastName) اتصال می دهند.

 

روش های کنترل

مثال بالا یک شی کنترل کننده با دو ویژگی: lastName و firstName را نشان داد، کنترل کننده همچنین می تواند روش ها (متغیرها را به عنوان توابع) داشته باشد:

<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>
<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>

کنترل کننده ها می توانند در فایل های خارجی قرارگیرند.

در برنامه های بزرگتر، کنترلرها در فایل های خارجی رایج هستند. در این صورت کافی است فقط کد بین تگ <script> را به یک فایل خارجی با نام personController.js کپی کنید:

<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>
<script src="personController.js"></script>

مثالی دیگر
برای مثال بعدی یک فایل کنترل جدید ایجاد خواهیم کرد:

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

کافی است تا قطعه کد فوق را در فایلی با نام  namescontroller.js ذخیره کرده و سپس از فایل کنترل کننده در یک برنامه استفاده کنید:

<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>

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فهرست مطالب