Angular4真的是双向数据绑定吗?

问题描述 投票:0回答:2

我对Angular2 / 4/5/6的了解是,由于[(ngModel)],可以在其中进行双向数据绑定 - 就像它通过$ scope在Angular1中发生一样。

现在,我遇到了这个网站,它明确指出Angular4中不可能进行双向数据绑定。我很困惑。有人可以真正澄清一下 - Angular 2/4/5/6中是否可以进行双向数据绑定?

enter image description here

链接:https://dzone.com/articles/understanding-output-and-eventemitter-in-angular

javascript angular data-binding angular-ngmodel
2个回答
4
投票

enter image description here

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


1
投票

Angular是一个javascript框架,javascript有一些限制,不允许真正的双向数据绑定。

实际上,第一种方式(模板到变量)是可能的,这要归功于允许在输入字段上侦听事件的本机javascript API,但是当变量发生变化时不会发生事件,所以另一种方式是不可行的javascript API。

这是由Zone.js提供的detection change,Angular“监听”您的代码并触发对这三种类型事件的更改检测:

  • 页面上的用户事件(点击,提交,模糊等...)
  • XMLHttpRequest已经结束
  • 计时器(setTimeoutsetInterval)触发了一些功能

更改检测使用每个绑定变量更新模板。

这就是双向数据绑定的实际存在方式。

顺便说一下,qazxsw poi是qazxsw poi的语法糖:这两种方式

© www.soinside.com 2019 - 2024. All rights reserved.