AngularJS 系列 01 - HelloWorld和数据绑定
|
在input元素上使用ng-model指令来实现数据绑定,如下所示: 1 <input type="text" ng-model="person.name" placeholder="请输入您的姓名...">
2 <h1>Hello, {{person.name}} !</h1>
这样绑定就设置好了,没错,就这么简单。瑾此而已。 咱们可以观察一下视图是如何更新数据模型的。当 <input> 中的值发生变化时, person.name 会被更新,而视图将反映出这个更新。
咱们仅通过视图就实现了一个双向数据绑定,为了从其他角度(后端到前端)解释双向数据绑定,后面会着重介绍控制器。
正如 ng-app 声明所有被它包含的元素都属于AngularJS应用一样,DOM元素上的 ng-controller 声明所有被它包含的元素都属于某个控制器。 为了解释这个概念,我们将上面的例子进行如下修改: 1 <!DOCTYPE html>
2 <html ng-app="myApp">
3 <head>
4 <meta charset="UTF-8">
5 <title>Hello World</title>
6 <script src="../script/angular.min.js"></script>
7 </head>
8 <body>
9 <div ng-controller="myController">
10 <h1>现在时间:{{clock}}</h1>
11 </div>
12 </body>
13 </html>
在这个例子中,我们会创建一个每秒钟走一步的时钟,并更新 {{clock}} 变量上的数据: 1 <script>
2 var app = angular.module('myApp', []);
3 app.controller('myController', function($scope, $timeout) {
4 var updateClock = function () {
5 $scope.clock = new Date();
6 $timeout(function () {
7 updateClock();
8 }, 1000);
9 };
10 updateClock();
11 });
12 </script>
在这个例子中,当定时器触发时会调用updateClock()函数,将$scope.clock的值设置为当前时间。 完整代码如下: 1 <!DOCTYPE html>
2 <html ng-app="myApp">
3 <head>
4 <meta charset="UTF-8">
5 <title>Hello World</title>
6 <script src="../script/angular.min.js"></script>
7 </head>
8 <body>
9 <div ng-controller="myController">
10 <h1>现在时间:{{clock}}</h1>
11 </div>
12
13 <script>
14 var app = angular.module('myApp', []);
15 app.controller('myController', function($scope, $timeout) {
16 var updateClock = function () {
17 $scope.clock = new Date();
18 $timeout(function () {
19 updateClock();
20 }, 1000);
21 };
22 updateClock();
23 });
24 </script>
25 </body>
26 </html>
上面的代码可以分开,修改成: 1 <!DOCTYPE html>
2 <html ng-app="myApp">
3 <head>
4 <meta charset="UTF-8">
5 <title>Hello World</title>
6 <script src="../script/angular.min.js"></script>
7 </head>
8 <body>
9 <div ng-controller="myController">
10 <h1>现在时间:{{clock}}</h1>
11 </div>
12
13 <script src="index.js"></script>
14 </body>
15 </html>
1 var app = angular.module('myApp', []);
2 app.controller('myController', function($scope, $timeout) {
3 var updateClock = function () {
4 $scope.clock = new Date();
5 $timeout(function () {
6 updateClock();
7 }, 1000);
8 };
9 updateClock();
10 });
由于JavaScript自身的特点,以及它在传递值和引用时的不同处理方式,通常认为,在视图中通过对象的属性而非对象本身来进行引用绑定,是AngularJS中的最佳实践。
(编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

