fan*_*ncy 1 javascript json backbone.js
如果我JSON.stringify骨架模型与嵌套集合/模型,通过websockets发送到另一个骨干客户端和JSON.parse模式model = JSON.parse(model)将变量模型工作,就像在其他客户端上一样?
没有.
也许我会详细说明.当我这样做:
var o = JSON.parse(JSON.stringify(model));
Run Code Online (Sandbox Code Playgroud)
我最终得到了一个简单的对象o.为什么?嗯,首先,JSON.parse()对基本类型(其中Array和Object被认为是原始类型)一无所知,特别是它不知道Backbone模型是什么,所以它不能重建一个.此外,JSON.stringify将toJSON在其参数上调用方法(如果它有一个当然)并且Backbone提供一个toJSON简单地将模型属性的副本作为简单(可能是嵌套的)对象返回.因此,一旦你有输出JSON.stringify(model),字符串和模型之间根本没有连接,你只需要一个普通的旧序列化JavaScript对象.
如果您想将Backbone模型从一个系统移动到另一个系统,我认为您必须自己跟踪所有模型类型和对象信息,然后在另一侧手动重建对象图的序列化部分.
您可能最好将模型保存回其URL,将ID发送到其他Backbone客户端,然后像往常一样从模型的URL重新加载它.JSON用于序列化数据,而不是对象,在将对象留给应用程序时解释数据.
| 归档时间: |
|
| 查看次数: |
1661 次 |
| 最近记录: |