javascript - 为什么数据绑定(bind)并不总是适用于原语?

标签 javascript angularjs data-binding

学习 JS 和 Angular 的里程碑之一是了解到与基元的双向数据绑定(bind)是棘手的。如果你想确保数据绑定(bind)有效,你应该总是将它打包到一个对象中——这是我公司的一些前辈告诉我的。我的问题是 - 为什么会这样?究竟是什么原因使得数据绑定(bind)在 JS 中如此合规?

我发现 Javascript 通过尊重传递对象,通过值传递基元。那么在 AngularJS Controller 中到底发生了什么,使我们能够在 ngModel 中绑定(bind)原语?

编辑

欢迎任何文章、指点!

最佳答案

这里很好postpost . 简而言之:

“原始值(例如数字、字符串)在 JavaScript 中是不可变的。因此,无论何时对它们进行更改,都意味着我们实际上是在丢弃以前的实例并使用不同的实例。”

关于javascript - 为什么数据绑定(bind)并不总是适用于原语?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35956348/

相关文章:

data-binding - UI5中更新模型,使用formatter时双向数据绑定(bind)变成单向

javascript - jquery/javascript 禁用表格单元格中的按钮

javascript - MomentJS,如何忽略用户的本地时区,并使用

javascript - 如何在没有 if else、switch 或 javascript 中的内置函数的情况下实现逻辑

c++ - 如果从文件流读取数据,为什么 gSOAP 将标准输入模式设置为二进制?

android - 从未调用过自定义 View 的 OnClick 方法 (Android)

javascript - 如何为 import() 全局设置 webpackChunkName?

html - Firefox 单选按钮不检查?

javascript - Angularjs 深度 $watch 不工作

angularjs - 无法在 AngularJS 1.5 组件中要求指令