将骨干模型和集合绑定到源图
Tying Backbone Model and Collection to source graphs
我希望将Backbone与Node上的持久内存数据存储结合使用。我希望能够使用Backbone访问此存储并反映更改。
数据可能看起来像这样:
var data =
[
{
baz: 'baz'
}
]
然后我想做的是这样的事情:
var dataCollection = new Backbone.Collection(data);
dataCollection.first().set('baz', 'new value');
data[0].baz //==> 'new value'
现在更有趣的是,如果我这样做:
dataCollection.add({ baz: 'a whole new baz' });
data //==>
[
{
baz: 'baz'
},
{
baz: 'a whole new baz'
}
]
基本上,我想用原生对象/数组引导主干模型/集合,并将对主干对象的任何更改反映在对应对象上。
- 有没有一种方法可以用原生Backbone做到这一点
- 这个想法或Backbone有什么根本性的缺陷吗无论出于何种原因都会中断的功能
- 有没有已经存在的库可以做到这一点
我不确定主干网是否会在节点上运行。我没有这方面的经验。
至于使用数据存储实际反映主干模型/集合上的更改,您可以只侦听模型/集合更改事件(前提是它甚至会运行)。
this.listenTo(this.model,'change',this.updateDataStore);
updateDataStore: function(model) {
//access model.changed to reflect just the changed attributes to your datastore
}
http://backbonejs.org/#Model-更改
听起来,一个简单的事件系统会给你所需的所有杠杆,让你在没有骨干的情况下很好地完成这项工作。
如果您希望model.save将更改持久化到内存中的数据存储,您可以覆盖Backbone.sync
,不发送XHR,而只更改数据存储。这里的巧妙之处在于,如果您为所有不同的http操作实现它,那么您也应该能够获取。
现在,您所需要的只是模型上的一个事件,让它自己观看change
,然后调用this.save:this.listenTo(this,'change',this.save);
。
如果这就是你想要的,请告诉我。
相关文章:
- 主干.js绑定到集合“添加”呈现视图两次
- 将集合绑定到主干中的模型
- 具有深度嵌套集合的 Angular 性能和数据绑定
- Jquery/JavaScript 代码绑定到集合
- 可以't将集合绑定到视图
- 如何在不破坏角度数据绑定的情况下更新集合中的项
- 对集合使用getter时,ASP.NET MVC3模型绑定器数据无效
- Backbone.js-can't获取数据,或绑定到集合上的获取事件
- 将骨干模型和集合绑定到源图
- js集合绑定了这种混淆
- 在 fetch 的成功和集合对象的绑定事件中编写代码有什么区别
- ng-repeat绑定集合,使用选项卡过滤布尔值,当我更新集合时,过滤器不会重新应用
- 模型绑定编辑器模板中的嵌套集合
- 使用流星和Angular为单个文档提供3- way数据绑定,而不是集合
- Backbone.js集合方法绑定
- struts2形式绑定参数到集合而不使用索引
- 为什么我的MVC动作不是模型绑定我的集合
- 在保留绑定的同时连接集合
- 将tmpl绑定到jquery集合
- Backbone.js将更改事件绑定到模型内的集合