AngularJS中的单向,双向,3向,......或更多数据绑定?

Joh*_*ews 7 data-binding angularjs angular-ngmodel

粗略地说,单向数据绑定只是ng-model在页面内绑定,而在涉及控制器时双向绑定.有人可以向我解释这个概念,所以我真的明白如何看待它?什么是3路数据绑定,还有4路,5路?

Ant*_*lla 22

(来自JohnAndrews的回答)单向数据绑定=您的数据模型通常从控制器插入到您的视图/模板中,并且更改为控制器中的模型会更改视图中的数据.双向数据绑定=与上述相同,但您也可以在视图中更改数据模型.

3-way =您的数据与远程存储器同步(loke CouchDB)4-way =您的数据与本地数据库(如localStorage或类似数据库)同步,并且该数据库与远程存储器同步

来源https://docs.google.com/presentation/d/1NByDXl6YL6BJ6nL0G2DLyZs5Og2njE_MNJv6vNK5aoo/edit#slide=id.g34d447b28_10


小智 6

数据绑定的一种方式:它非常简单.这是模型更新视图/模板.

双向数据绑定:此处模型填充视图,视图中的任何更改都会自动反映在模型中,反之亦然.例如

<input type="text" ng-model="name"/>
<h1>Hello {{name}}!</h1>
Run Code Online (Sandbox Code Playgroud)

所以在这里,输入字段的值绑定到模型,即'name'.每当"名称"发生变化时,它就会立即在页面上更新.

想到图像,b'use不能发布它:(

模型<===> DOM

三向数据绑定:

Firebase <=====>模型<=====> DOM

这里,像数据库服务器这样的firebase只能更新模型而不是DOM ieUI.模型可以更新数据库服务器,即firebase和DOM.所以模型有权更新UI和数据库服务器:)模型可以填充DOM,即UI反之亦然.