AngularJS kontroller
- Forrige side AngularJS databinding
- Næste side AngularJS omfang
AngularJS kontroller控制 AngularJS 应用程序的数据。
AngularJS 控制器是常规的 JavaScript 对象。
AngularJS kontroller
AngularJS 应用程序由控制器控制。
ng-controller 指令定义应用程序控制器。
控制器是由标准的 JavaScript 对象构造器创建的 JavaScript 对象。
AngularJS eksempel
<div ng-app="myApp" ng-controller="myCtrl"> Fornavn: <input type="text" ng-model="firstName"><br> Efternavn: <input type="text" ng-model="lastName"><br> <br> 全名: {{firstName + " " + lastName}} </div> <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.firstName = "Bill"; $scope.lastName = "Gates"; }); </script>
应用程序说明:
AngularJS 应用程序由 ng-app="myApp"
定义。应用程序在 <div> 内运行。
ng-controller="myCtrl"
en egenskab er en AngularJS-instruktion. Den definerer en kontroller.
myCtrl
en funktion er en JavaScript-funktion.
AngularJS bruger $scope
objektet kalder kontrolleren.
I AngularJS er $scope ejeren af applikationsobjektet (alle applikationsvariabler og funktioner).
Kontrolleren i omfanget (firstName
og lastName
)opretter to egenskaber (variabler).
ng-model
Instruktioner binder inputfeltet til kontrolerets egenskab (firstName og lastName).
Kontrolmetoder
Denne eksempel viser en kontrolerobject med to egenskaber: lastName og firstName.
Kontroller kan også have metoder (som variabler for funktioner):
AngularJS eksempel
<div ng-app="myApp" ng-controller="personCtrl"> Fornavn: <input type="text" ng-model="firstName"><br> Efternavn: <input type="text" ng-model="lastName"><br> <br> Fuldt navn: {{fullName()}} </div> <script> var app = angular.module('myApp', []); app.controller('personCtrl', function($scope) { $scope.firstName = "Bill"; $scope.lastName = "Gates"; $scope.fullName = function() { return $scope.firstName + " " + $scope.lastName; }; }); </script>
Kontroller i eksterne filer
Det er meget almindeligt i større applikationer at gemme kontroller i eksterne filer.
Kopier blot koden mellem <script>-tagget til en fil med navnet personController.js i den eksterne filen:
AngularJS eksempel
<div ng-app="myApp" ng-controller="personCtrl"> Fornavn: <input type="text" ng-model="firstName"><br> Efternavn: <input type="text" ng-model="lastName"><br> <br> Fuldt navn: {{fullName()}} </div> <script src="personController.js"></script>
En anden eksempel
For det næste eksempel vil vi oprette en ny kontrolfil:
angular.module('myApp', []).controller('namesCtrl', function($scope) { $scope.names = [ {name:'Jani',country:'Norway'}, {name:'Hege',country:'Sweden'}, {name:'Kai',country:'Denmark'} ]; });
Gem filen som namesController.js:
Brug derefter kontrolfilen i applikationen:
AngularJS eksempel
<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>
- Forrige side AngularJS databinding
- Næste side AngularJS omfang