我知道很多著名的MVC,M **样式JavaScript框架都允许与Observables进行2向绑定。

如果我的意思是:

  • 更新DOM输入字段,它还将更新JavaScript对象变量,该变量也可以通过AJAX请求保存到服务器。
  • 如果我更新JavaScript对象变量,它将依次更新DOM文本字段。

在学习JavaScript的过程中,我希望跳过大名称库,并以最基本的原始JavaSript形式学习如何做到这一点。

任何人都可以在不使用BackboneJS,Knockout,Angular或其他库的情况下提供快速,易于理解的演示此功能吗?

jQuery是可以接受的。

我会很感激这一课,请提供帮助。

===============>>#1 票数:0

在每个框架中这都是不同的。

例如,Angular将作用域上的每个变量都保存下来。 遍历作用域变量并将值与先前的值进行比较,如果有更改,将对DOM进行更改。

他们检查摘要循环时进行此检查。 如果一个周期结束,它将再次调用,直到“观察到”的每个变量都与上一个周期相同。 您也可以将对象或变量添加到此“观察者”。

Angular保持视图为最新,每次都可以调用此摘要,从而可能会更改“观察到的” var,例如http调用,用户交互……但是例如,如果您从angular(控制台)外部更改变量,则该变量更改不对DOM执行。 您必须手动调用摘要循环。

在HTML5中,使用Object.observe稍微容易一些,但是当前市场上所有的浏览器都不支持它。

希望我能帮上忙

  ask by Dave Riley translate from so

未解决问题?本站智能推荐:

3回复

Angular-具有DIV元素样式的2路数据绑定

我正在使用Angular和jQueryUI构建拖动界面。 我想使用Angular的原因是,我想要angularJS 2种方式的数据绑定,这真是太棒了! 这是codepen- http: //codepen.io/anon/pen/qmuvH/ 在Codepen中-您将看到一个带有文
1回复

Ajax调用后的双向数据绑定

我对AngularJS双向数据绑定有问题。 我将尝试尽可能清楚地解释问题:我有一个联系人姓名列表。 对于每个元素,我都有一个“编辑”按钮。 当我单击该按钮时,我从Ajax调用中加载“单击的”完整联系人,然后显示一个窗口,其中包含一些与刚刚检索到的联系人相关联的输入字段(“电话”,“电子邮件
1回复

流星双向绑定-UI更新

我有基本上是div元素行的页面。 我从数组创建这些div元素。 数组中的每个对象都是具有键用户名的映射。 这是一个例子 页面加载后,它将成功获取this.username的值。 我在该div上有一个click事件,以便在单击它时在mongo中创建一个文档,并且还希望将map中的值
1回复

JavaScript:通过从字符串中检索变量名来更新对象值

我有一个JavaScript对象,看起来像这样。 我有一些HTML代码,看起来像这样 在HTML上,如果我对该字段进行任何更改,我已经存储了要修改的JavaScript变量。 我编写了类似这样的JavaScript代码。 有没有更好的方法来解决这个问题,目前我使用的是e
1回复

通过指令将元素添加到DOM并绑定来自控制器(angular.js)的作用域监视

这是一个小应用程序,您可以在其中添加,编辑和删除项目-在控制器中进行了描述,基于角度2方式数据绑定。 http://cssdeck.com/labs/schedule-of-the-red-hood 每次添加元素时,都应以编程方式在calednar-bar中插入一个元素,如指令模板中
3回复

2路数据绑定指令角度

我混淆了角度的2路数据绑定。 看看代码吧! var bah可以访问父对象$scope.something但是当我单击按钮时,控制器中的值更改为false但不是指令。 怎么了? 那是一个bug吗? 怎么解决这个? 感谢帮助我,希望你能写一个例子或参考链接 HTML J
1回复

Knockout.js如何与2向绑定组件共享可观察的viewmodel

在这个简化的示例中,我试图为地址创建一个真实的来源。 vm.companies()[0].address().address1必须是可观察到的,可以共享/连接到地址输入组件。 我可能会为实现的目标使用错误的设计模式。 具体来说,这是无效的部分。 在地址输入组件中键入addr
2回复

angularjs- textareas中的数据绑定问题

我已经使用angular js建立了一个时间轴。 时间轴显示来自用户的帖子,其他人可以为其添加评论。 为此,我提供了一个文本区域。 设置很简单。 我使用ng-repeat来显示时间轴帖子(总是可以不止一个),并且由于用户可以在每个帖子上发表评论,因此textarea也随它一起被包含(例如
1回复

如何将复选框值数据绑定到Javascript对象

我试图以一种简单的形式在Javascript中设置2路数据绑定。 我一直在使用grnadav的databind插件,但是无法获取(或多个)复选框值绑定到对象数组。 数据模型,js绑定和测试输出函数是 HTML标记是
1回复

聚合物防止数据绑定

数据绑定很好,很好。 但是,这一次妨碍了我。 我有一个默认的user数组, user在页面的每个item插入。 这个想法是每个item都有一个复选框供每个user 。 目前,我像这样创建我的emptyUsers -item: 注意: this.users来自数据库