性能——是否应该避免双向数据绑定?

Performance - Should two way data binding be avoided?

抱歉,如果问题太基础了。

我想知道我是否应该在我的系统中避免双向数据绑定。我可以在提交表单中捕获表单的值,而无需使用双向数据绑定。

我的问题是双向数据绑定是否真的消耗了太多内存。我应该停止使用它吗?

这与内存或性能无关。它更多地是关于单向数据流约定。 您可以将 [(ngModel)] 分为输入 [ngModel]=data 和输出 (ngModelChange)="callback($event)" 两种方式。您将确信数据只能在一个方向上改变。 这种方法的第二个优点是在您需要更改输入数据时的自定义行为。

简短回答:是的,使用它(在我看来)。

在性能方面,AngularJS(版本 1)处理双向数据绑定的方式存在问题,但这在 Angular 2+ 中已基本解决(在某种程度上在绝大多数情况下,这不是你需要关心的事情。

然而,如何 Angular 处理双向绑定值得一读,因为这将提高您对语法以及如何使用它以适应上下文的理解- Throughtram 在这里有一个很好的博客:https://blog.thoughtram.io/angular/2016/10/13/two-way-data-binding-in-angular-2.html

是否"good practice"使用,这个当然值得商榷。虽然我同意 Denis Reshetniak 的回答是有道理的,但我个人经常使用它,我建议节省的时间和更简单的代码足以弥补您可能 运行 遇到的任何缺点和偶尔出现的问题(我我还没有遇到问题,并且自版本 2 发布以来一直在大量使用它)。归根结底,这取决于您的情况和要求 - 您应该确保了解利弊,然后决定哪种方法最适合您的用例。