单向、双向、三向。。。还是AngularJS中的更多数据绑定?

单向、双向、三向。。。还是AngularJS中的更多数据绑定?,angularjs,data-binding,angular-ngmodel,Angularjs,Data Binding,Angular Ngmodel,粗略地说,单向数据绑定只是在页面中绑定ng model,在涉及控制器时绑定为双向。有人能给我解释一下这个概念,让我真正理解如何看待它吗?还有什么是3路数据绑定,还有4路、5路吗?1路数据绑定=您的数据模型通常从控制器插入到视图/模板中,并且对控制器中的模型所做的更改会更改视图中的数据。但不是相反 双向数据绑定=如上所述,但您也可以在视图中更改数据模型。 例如,如果控制器中有$scope.title,并将其绑定到,则控制器中对$scope.title的任何更改都会更改输入中的内容,对输入值的任何更

粗略地说,单向数据绑定只是在页面中绑定
ng model
,在涉及控制器时绑定为双向。有人能给我解释一下这个概念,让我真正理解如何看待它吗?还有什么是3路数据绑定,还有4路、5路吗?

1路数据绑定=您的数据模型通常从控制器插入到视图/模板中,并且对控制器中的模型所做的更改会更改视图中的数据。但不是相反

双向数据绑定=如上所述,但您也可以在视图中更改数据模型。 例如,如果控制器中有$scope.title,并将其绑定到,则控制器中对$scope.title的任何更改都会更改输入中的内容,对输入值的任何更改都会更改$scope.title变量以及=双向绑定。

(摘自JohnAndrews的答案) 单向数据绑定=数据模型通常从控制器插入到视图/模板中,并且对控制器中的模型所做的更改会更改视图中的数据。 双向数据绑定=如上所述,但您也可以在视图中更改数据模型

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


来源:单向数据绑定非常简单。这就是模型更新视图/模板

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

<input type="text" ng-model="name"/>
<h1>Hello {{name}}!</h1>

你好{{name}}!
因此,这里输入字段的值绑定到一个模型,即“name”。每当“名称”更改时,页面上的名称会立即更新

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

模型DOM

三向数据绑定

Firebase模型DOM

在这里,类似firebase的数据库服务器只能更新模型,不能更新DOM即UI。 模型可以更新db服务器,即firebase和DOM。因此模型拥有更新UI和db服务器的能力:) 模型可以填充DOM,即UI,反之亦然。

简短回答-

1way表示HTML(ng模型/{{}})中的值被范围变量中的值替换

2路变量和占位符/html(ng model/{{}})值始终相互相等

3路当数据与服务器或数据库同步时,服务器参与双向同步


//这么多

清楚。3路怎么样?我不知道这个术语,但很可能是其他一些处理数据的js库,比如breezejs。Duno,尝试Google。可以考虑通过Socket或Ajax进行自动服务器更新,作为另一个<代码>方式 > 3路是:VIEW-> MID->数据库