AngularJS学习笔记(三)数据双向绑定的简单实例
2016-11-08 11:07
766 查看
双向绑定
双向绑定是AngularJS最实用的功能,它节省了大量的代码,使我们专注于数据和视图,不用浪费大量的代码在Dom监听、数据同步上,关于双向更新,可看下图:
数据-->视图
这里我们只演示有了数据以后,如何绑定到视图上。
<!DOCTYPE html> <html ng-app="App"> <head> <script type="text/javascript" src="http://sandbox.runjs.cn/uploads/rs/394/xjz9g1bv/angular.js"></script> <script type="text/javascript"> var App = angular.module("App", []); App.controller("ctrl", function ($scope) { $scope.username='张三' $scope.changename=function(){ $scope.username='李四'; } }); </script> </head> <body> <div ng-controller ="ctrl"> <button class='btn btn-primary' ng-click='changename();'> username='李四' </button> <!--页面加载初期,用户可能会看到绑定的表达式--> <div>{{username}}</div> <!--此绑定不会出现上述情况--> <div ng-bind='username'></div> </div> </body> </html>
点击按钮之后,div内容变成 李四,效果如图:
视图―>数据
上个例子,我们看了数据变化后,视图也会自动变化。那么这个例子则是反过来,视图变化,导致数据也跟着变化,那么数据变化后,我们如何知道呢,这儿我们可以通过另外一个元素将数据再显示出来。
<!DOCTYPE html> <html ng-app="App"> <head> <script type="text/javascript" src="http://sandbox.runjs.cn/uploads/rs/394/xjz9g1bv/angular.js"></script> <script type="text/javascript"> var App = angular.module("App", []); App.controller("ctrl", function ($scope) { $scope.username='张三' }); </script> </head> <body> <div ng-controller ="ctrl"> <input type='text' ng-model='username' /> <div>{{username}}</div> </div> </body> </html>
查看效果:
实现机制
angular对常用的dom事件,xhr事件等做了封装, 在里面触发进入angular的digest流程。
在digest流程里面, 会从rootscope开始遍历, 检查所有的watcher。
您可能感兴趣的文章:
相关文章推荐
- AngularJS 双向数据绑定详解简单实例
- (八)简单了解下angularJS框架中NB的双向数据绑定机制,大大减少需要重复的开发代码量
- 实例剖析AngularJS框架中数据的双向绑定运用
- 五十行javascript代码实现简单的双向数据绑定
- 原生js简单实现双向数据绑定原理
- vue.js v-model数据双向绑定实例
- 非常简单的js双向数据绑定框架(三):js model黑科技
- AngularJS 实例(一)--数据双向绑定
- 五十行javascript代码实现简单的双向数据绑定
- 2.vue.js实例:双向数据绑定实例
- Avalonjs双向数据绑定与监听的实例代码
- 实现非常简单的js双向数据绑定
- 简单实现 angular1.x 双向数据绑定
- angularjs中$http、$location、$watch及双向数据绑定学习实现简单登陆验证
- 五十行javascript代码实现简单的双向数据绑定
- DataGrid简单数据绑定实例2
- angularjs中$http、$location、$watch及双向数据绑定学习实现简单登陆验证
- AngularJS学习笔记(三)数据双向绑定
- JavaScript实现简单的双向数据绑定(Ember、Angular、Vue)
- 五十行javascript代码实现简单的双向数据绑定