我对Angular2 / 4/5/6的了解是,由于[(ngModel)],可以在其中进行双向数据绑定 - 就像它通过$ scope在Angular1中发生一样。
现在,我遇到了这个网站,它明确指出Angular4中不可能进行双向数据绑定。我很困惑。有人可以真正澄清一下 - Angular 2/4/5/6中是否可以进行双向数据绑定?
链接:https://dzone.com/articles/understanding-output-and-eventemitter-in-angular
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
Angular是一个javascript框架,javascript有一些限制,不允许真正的双向数据绑定。
实际上,第一种方式(模板到变量)是可能的,这要归功于允许在输入字段上侦听事件的本机javascript API,但是当变量发生变化时不会发生事件,所以另一种方式是不可行的javascript API。
这是由Zone.js提供的detection change,Angular“监听”您的代码并触发对这三种类型事件的更改检测:
setTimeout
或setInterval
)触发了一些功能更改检测使用每个绑定变量更新模板。
这就是双向数据绑定的实际存在方式。
顺便说一下,qazxsw poi是qazxsw poi的语法糖:这两种方式