Angular4 真的是双向数据绑定吗?
Is Angular4 really 2-Way data-Binding?
我从 Angular2/4/5/6 中学到的是,由于 [(ngModel)],双向数据绑定在其中是可能的——就像它发生的那样通过 $scope 在 Angular1 中。
现在,我看到了这个网站,该网站明确指出 Angular4 中无法进行 2 向数据绑定。我很困惑。有人能真正澄清一下吗——在 Angular 2/4/5/6 中是否可以进行 2 向数据绑定?
Link: https://dzone.com/articles/understanding-output-and-eventemitter-in-angular
Angular 是一个 javascript 框架,javascript 有一些限制,不允许真正的双向数据绑定。
事实上,第一种方式(模板到变量)成为可能,这要归功于原生 javascript API 允许监听输入字段上的事件,但没有发出事件这样的事情当一个变量改变时,所以另一种方法是不可行的 javascript API.
这里出现了 detection change,通过 Zone.js、Angular "listens" 到您的代码并触发对这三种事件的更改检测:
- 页面上的用户事件(点击、提交、模糊处理等...)
- XMLHttpRequest 已结束
- 定时器(
setTimeout
或 setInterval
)触发了一些函数
变化检测使用每个绑定变量更新模板。
这就是双向数据绑定实际上存在的方式。
顺便说一下,[(ngModel)]
是 [ngModel]="variable" (ngModelChange)="variable = $event"
的语法糖:这是两种方式
whether 2-Way data binding is possible or Not in Angular 2/4/5/6?
不,不是[(ngModel)]
不是双向数据绑定。它只是同时事件绑定和 属性 绑定的语法糖。
探索更多内容
1. Do you really know what unidirectional data flow means in Angular
2。 Change Detection Reinvented Victor Savkin
3。 TWO-WAY DATA BINDING IN ANGULAR
我从 Angular2/4/5/6 中学到的是,由于 [(ngModel)],双向数据绑定在其中是可能的——就像它发生的那样通过 $scope 在 Angular1 中。
现在,我看到了这个网站,该网站明确指出 Angular4 中无法进行 2 向数据绑定。我很困惑。有人能真正澄清一下吗——在 Angular 2/4/5/6 中是否可以进行 2 向数据绑定?
Link: https://dzone.com/articles/understanding-output-and-eventemitter-in-angular
Angular 是一个 javascript 框架,javascript 有一些限制,不允许真正的双向数据绑定。
事实上,第一种方式(模板到变量)成为可能,这要归功于原生 javascript API 允许监听输入字段上的事件,但没有发出事件这样的事情当一个变量改变时,所以另一种方法是不可行的 javascript API.
这里出现了 detection change,通过 Zone.js、Angular "listens" 到您的代码并触发对这三种事件的更改检测:
- 页面上的用户事件(点击、提交、模糊处理等...)
- XMLHttpRequest 已结束
- 定时器(
setTimeout
或setInterval
)触发了一些函数
变化检测使用每个绑定变量更新模板。
这就是双向数据绑定实际上存在的方式。
顺便说一下,[(ngModel)]
是 [ngModel]="variable" (ngModelChange)="variable = $event"
的语法糖:这是两种方式
whether 2-Way data binding is possible or Not in Angular 2/4/5/6?
不,不是[(ngModel)]
不是双向数据绑定。它只是同时事件绑定和 属性 绑定的语法糖。
探索更多内容
1. Do you really know what unidirectional data flow means in Angular
2。 Change Detection Reinvented Victor Savkin
3。 TWO-WAY DATA BINDING IN ANGULAR