对不起,如果这个问题太基本了。
我想知道我是否应该避免在我的系统中进行双向数据绑定。我可以在提交表单中捕获表单的值,而无需使用双向数据绑定。
我的问题是双向数据绑定是否真的消耗太多内存。我应该停止使用它吗?
对不起,如果这个问题太基本了。
我想知道我是否应该避免在我的系统中进行双向数据绑定。我可以在提交表单中捕获表单的值,而无需使用双向数据绑定。
我的问题是双向数据绑定是否真的消耗太多内存。我应该停止使用它吗?
简短的回答:是的,使用它(在我看来)。
性能方面,AngularJS(第 1 版)处理双向数据绑定的方式存在问题,但这在 Angular 2+ 中已基本解决(在绝大多数情况下,这不是您需要关心的问题)情况(如果有的话)。
然而,关于 Angular如何处理 2 路绑定值得一读,因为这将提高您对语法的理解以及如何使用它来适应上下文 - Throughtram 在这里有一个很好的博客:https ://blog.thoughtram.io /angular/2016/10/13/two-way-data-binding-in-angular-2.html
使用它是否是“良好做法”,这当然是值得商榷的。虽然我同意 Denis Reshetniak 的回答提出了一个有效的观点,但我个人经常使用它,我建议节省的时间和更简单的代码足以弥补您可能遇到的任何缺点和偶尔出现的问题(我没有一个问题,并且自第 2 版发布以来一直在大量使用它)。归根结底,这取决于您的情况和要求——您应该确保了解优缺点,然后决定哪种方法最适合您的用例。
这与内存或性能无关。它更多的是关于单向数据流约定。您可以将[(ngModel)]
输入[ngModel]=data
和输出分成两种方式(ngModelChange)="callback($event)"
。而且您将确定数据只能在一个方向上更改。这种方法的第二个优点是当您需要更改输入数据时的自定义行为。