角度双向绑定在哪里有用?

时间:2016-11-03 10:52:50

标签: angularjs

角度中的双向绑定功能非常受欢迎,根据角度社区,与单向绑定相比,它是很好的。

还有很多简单的例子可以解释它是如何运作的。

但我的问题是我们在实际应用中使用该功能的位置。   - 一个例子是使用输入框,除此之外是否有任何好的用途?

2 个答案:

答案 0 :(得分:2)

双向绑定作为默认设置并不明智,因为它会产生性能问题(约2000名观察者和您的应用程序可能会很快变坏)。它导致在Angular 1中引入{{::}}绑定语法(一次绑定语法)。总的来说,我无法看到我同意默认的双向绑定被任何知识渊博的Angular称为好事。开发。

我可以告诉你一个事实,编写了一个同时显示不同类型对象列表的应用程序,默认双向绑定是一个错误。它创造了太多的持久观察者。社区整体似乎非常赞同。

所以你在这里建议是正确的;有双向绑定的用途。但是,这些需求应被视为少之又少。即使这样,你也可以通过一点思考来解决它的需要。

对我来说,双向绑定主要用于输入字段。但是这种机制现在绝对被低估了,应该谨慎使用。

答案 1 :(得分:1)

好吧,当你将标签$scope变量绑定时,虽然绑定是双向的(根据定义),但它只与JS方向相关 - > HTML。

只有当用户也可以更改值时,双向绑定才会被充分利用,这意味着任何类型的INPUT组件(文本框,下拉列表,复选框等)。

一个简单的(虽然是单向的)示例是当您有一个可以用多种语言显示的页面时。您将全部部署$scope变量,并使用当前语言为它们分配字符串。

当用户切换语言时,将新字符串简单分配给相应的变量将使屏幕自动更新为新语言。