Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将主干模型和集合绑定到源图_Javascript_Backbone.js - Fatal编程技术网

Javascript 将主干模型和集合绑定到源图

Javascript 将主干模型和集合绑定到源图,javascript,backbone.js,Javascript,Backbone.js,我希望将主干网与节点上的持久内存数据存储结合使用。我希望能够使用主干网访问此存储并反映更改 数据可能如下所示: var data = [ { baz: 'baz' } ] var dataCollection = new Backbone.Collection(data); dataCollection.first().set('baz', 'new value'); data[0].baz //==> 'new value' 然后我想做的是这样的事情

我希望将主干网与节点上的持久内存数据存储结合使用。我希望能够使用主干网访问此存储并反映更改

数据可能如下所示:

var data =
[
    {
        baz: 'baz'
    }
]
var dataCollection = new Backbone.Collection(data);
dataCollection.first().set('baz', 'new value');

data[0].baz //==> 'new value'
然后我想做的是这样的事情:

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'
    }
]
基本上,我希望用本机对象/数组引导主干模型/集合,并在对应对象上反映对主干对象的任何更改

  • 有没有一种方法可以通过本机主干实现这一点
  • 这个想法或主心骨有什么根本性的缺陷吗 无论出于何种原因都会中断的功能
  • 有没有已经存在的库可以这样做

  • 我不确定主干网是否会在节点上运行。我在这方面没有经验

    至于使用数据存储实际反映主干模型/集合上的更改,您只需侦听模型/集合更改事件(前提是它将运行)

    这听起来像是一个简单的事件系统将给你所有的杠杆,你需要这样做没有骨干

    如果希望model.save将更改持久化到内存中的数据存储,则可以覆盖
    Backbone.sync
    以不发送XHR,而只更改数据存储。这里最妙的是,如果您为所有不同的http操作实现它,那么您也应该能够获取

    现在,您所需要的只是模型上的一个事件,让它自己观察
    change
    ,然后调用这个。保存:
    this.listenTo(this,'change',this.save)


    让我知道您是否在追求这个目标。

    主干不会更改原始数据变量的值,如果您是这样要求的话。除非手动更改数据的值:
    data=myModel.toJSON()。您在服务器端运行主干网吗?@HighCat是的,我在节点上运行。@idbehold我知道它没有。关键是我希望这样做,所以我正在寻找推荐的方法来实现这一点,或者如果有什么原因没有人这样做的话。主干网肯定是在节点上运行的。另外,也许我的问题还不清楚,重点是只使用本机主干对象(或在创建主干库时修改基本原型),而不是通过事件手动硬连接,这自然很容易做到。