gpt4 book ai didi

javascript - angular 2 我们是否需要在不需要时避免双向数据绑定(bind)?

转载 作者:太空狗 更新时间:2023-10-29 18:26:29 25 4
gpt4 key购买 nike

如果我在表单中始终使用双向数据绑定(bind)(ng-model)而不是单向数据绑定(bind),我会进行大量搜索以了解是否存在一些不良性能。我知道对于每两种方式的数据绑定(bind), Angular 1 都会创建一个新 watch ,并且对于 Angular 1 的大型应用程序,我们可能会遇到性能问题,因为这个。现在我需要知道如果我只使用一种数据绑定(bind)方式,那么使用 angular 2 是否会有所不同?不需要时需要避免双向数据绑定(bind)?

最佳答案

Angular2 并没有真正的双向数据绑定(bind)。

Angular2 有

从 parent 到 child 的数据绑定(bind)

[childProp]="parentProp"

当更改检测检测到 parentProp 中的更改时,它会更新 childProp 并在子组件中调用 ngOnChanges()(当实现时)。

从 child 到 parent 的事件绑定(bind)

从 child 到 parent 的方式是事件绑定(bind)。

(childPropChange)="parentProp = $event"

在子组件中调用 eventFromChild.emit(someValue) 时调用“someActionOnParent()”。

这两者的组合只是上面显示的数据和事件绑定(bind)的语法糖

[(childProp)]="parentProp"

这意味着变化检测只需要检查 parentProp 是否发生变化,而不关心其他方向。从子组件到父组件的更新必须由子组件主动调用,并且不涉及变化检测。

这种单向数据流让 Angular2 的变化检测变得极其高效。要进一步优化更改检测,请在您的组件中使用 ChangeDetectionStrategy.OnPush。这允许 trim Angular2 必须实际进行变化检测的树。

关于javascript - angular 2 我们是否需要在不需要时避免双向数据绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39460810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com