JavaScript中的简单可观察双向数据绑定
我知道很多著名的MVC、M**风格的JavaScript框架都允许与可观察对象进行双向绑定 意思是如果我:JavaScript中的简单可观察双向数据绑定,javascript,jquery,observable,2-way-object-databinding,Javascript,Jquery,Observable,2 Way Object Databinding,我知道很多著名的MVC、M**风格的JavaScript框架都允许与可观察对象进行双向绑定 意思是如果我: 更新一个DOM输入文件,它还将更新一个JavaScript对象变量,该变量也可以通过AJAX请求保存到服务器 如果我更新JavaScript对象变量,它也会反过来更新DOM文本字段 在我学习JavaScript时,我想跳过大名鼎鼎的库,学习如何以最基本的原始JavaSript形式实现这一点 任何人都可以在不使用BackboneJS、Knockout、Angular或其他库的情况下提供此
- 更新一个DOM输入文件,它还将更新一个JavaScript对象变量,该变量也可以通过AJAX请求保存到服务器李>
- 如果我更新JavaScript对象变量,它也会反过来更新DOM文本字段
我将感谢您的教训和帮助。这在每个框架中都是不同的 例如,Angular保存作用域上的每个变量。遍历scopes变量,并将这些值与前面的值进行比较,如果有更改,则对DOM执行更改 这种检查是在他们调用摘要周期时进行的。如果一个周期结束,它将再次调用,直到每个“观察到的”变量与前一个周期中的变量相同。您还可以将对象或变量添加到此“观察者” Angular保持视图的最新状态,每次有什么东西可以改变“观察到的”变量时都调用这个摘要,比如http调用、用户交互。。。但是,例如,如果从angular(控制台)外部更改变量,则不会对DOM执行变量更改。您必须手动调用摘要循环才能执行此操作 在HTML5中,Object.observe更容易使用,但目前市场上的每个浏览器都不支持它
希望我能提供帮助我没有时间写完整的答案,但您可能想看看Observer设计模式。这是MVC和其他框架中的关键模式之一。基本上,当您更改值时,您会通知每个观察者,然后观察者接受新值。当然,你可以用两种方法来做,也许这是一个更好的术语context@Dr.Molle谢谢分享,我以前从未听说过!看见