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

Angularjs 角双向绑定在哪里有用?,angularjs,Angularjs,angular中的双向绑定功能非常流行,并且根据angular社区的说法,与单向绑定相比,双向绑定是很好的 这里有很多简单的例子来解释它是如何工作的 但我的问题是,在实际应用中,我们在哪里使用该功能。 -一个例子是与输入框一起使用,除此之外,它还有什么好的用途吗?好吧,当您使用$scope变量绑定标签时,尽管绑定是双向的(根据定义),但它只与JS->HTML方向相关 只有在用户也可以更改值的情况下,才能充分利用双向绑定,这意味着任何类型的输入组件(文本框、下拉框、复选框等) 一个简单的(尽管是单

angular中的双向绑定功能非常流行,并且根据angular社区的说法,与单向绑定相比,双向绑定是很好的

这里有很多简单的例子来解释它是如何工作的

但我的问题是,在实际应用中,我们在哪里使用该功能。
-一个例子是与输入框一起使用,除此之外,它还有什么好的用途吗?

好吧,当您使用
$scope
变量绑定标签时,尽管绑定是双向的(根据定义),但它只与JS->HTML方向相关

只有在用户也可以更改值的情况下,才能充分利用双向绑定,这意味着任何类型的输入组件(文本框、下拉框、复选框等)

一个简单的(尽管是单向的)示例是,当您有一个可以用多种语言显示的页面时。您可以在所有地方部署
$scope
变量,并用当前语言为它们分配字符串


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

默认情况下双向绑定是不明智的,因为它会产生性能问题(~2000个观察者和你的应用程序可能很快坏掉)。它在Angular 1中引入了{{::}}绑定语法(bind once语法)。总的来说,我不认为任何有知识的开发人员都认为默认双向绑定是一件好事

我可以告诉你一个事实,在编写了一个同时显示许多不同类型对象列表的应用程序之后,默认的双向绑定是一个错误。它创建了太多的持久观察者。整个社会似乎都非常同意这一点

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


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

谢谢!,所以双向绑定在用户可更改的元素中最有用?但在普通html中,元素不能与模型对象绑定。它的概念(和功能)完全相同,除了(例如)标签,html->JS方向无法表达(因为您——用户——无法更改标签元素的字符串)。顺便说一句,如果我的答案符合您的期望,您可能希望考虑将其标记为这样(即点击“V”)。是的,完全同意您!它在少数情况下很有用,但大多数情况下,我们更喜欢使用REST/some_JSON_服务的单向绑定来实现解耦的客户机-服务器应用程序。但是,它怎么可能成为电影中最主要、最大胆的特色呢“大约2000个观察者和你的应用程序可能会很快坏掉”是真的,但这与双向绑定有什么关系?您所说的“默认双向绑定”是什么意思?老式Angular应用程序的单向绑定将多于双向绑定。基于组件的应用程序更是如此。Angular 1 doc用于一次性绑定(我认为是1.3引入的):一次性绑定的主要目的是创建一个绑定,一旦绑定稳定,该绑定将被取消注册并释放资源。减少正在监视的表达式的数量可以加快摘要循环,并允许同时显示更多信息。在{::}}语法之前,每次使用{{myvar}时,每个摘要都会(通过watch)计算该表达式。在一个视图中,渲染成百上千个对象,都使用默认绑定,这造成了巨大的问题。