AngularJS的数据双向绑定是怎么实现的?
AngularJS诞生于2009年,由MiskoHevery等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入。
ng-model表示数据双向绑定,把js中对象的属性和html页面上显示的值进行绑定;同时也是把你新赋予的值和对象的属性进行绑定;
上图<script>中引入了AngularJs的来源;而div中的ng-app表明,AngualrJs的作用域是整个div,如果想整个页面都用到AngularJS,可以卸载html标签里;
这里的ng-init初始化了对象p的name和age属性;当浏览器第一次加载时,姓名后显示的就是zhangsan;年龄后显示的就是18;把对象的值显示到页面来,“从实体类中出来(确切的说,是【数据】从model中走出来)”这是正向绑定;然而,下面的输入框和p的name和age属性绑定了;你输入的内容,会及时更新到p对象的name和age属性里,这是从页面,到实体对象体内,“进入到实体类中去(确切的说是【数据】走到model体内去)”这是反向绑定;所以AngularJs是双向绑定的;
总结:angular的双向数据绑定,个人理解是,通过model建立数据模型,那么视图上的数据就会对应存储在angular程序里,视图上的数据变化会同步到model,model的数据改变也会同步到视图。