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

时间:2017-06-11 14:14:13

标签: angular angular2-databinding

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

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

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

2 个答案:

答案 0 :(得分:3)

不是关于记忆或表现。它更多地是关于单向数据流约定。 您可以双向[(ngModel)]分割输入[ngModel]=data和输出(ngModelChange)="callback($event)"。而且您将确保数据只能在一个方向上进行更改。 当您需要从输入更改数据时,此方法的第二个优点是自定义行为。

答案 1 :(得分:2)

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

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

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

使用它是否“良好做法”,这当然值得商榷。虽然我同意Denis Reshetniak的答案提出了一个有效的观点,但我个人经常使用它,我建议节省的时间和更简单的代码可以弥补您可能遇到的任何缺点和偶然的问题(我没有一个问题,并且自版本2发布以来一直在使用它)。在一天结束时,这取决于您的情况和要求 - 您应该确保了解优缺点,然后确定哪种方法最适合您的用例。