javascript - 如何使用 Backbone.js 从嵌套的 JSON 构建集合/模型

标签 javascript backbone.js backbone-relational

我是 Backbone.js 的新手

我有一个 JSON,如图所示! 我看到了一些与 Backbone-relational 有关的答案,但仍然不明白这一点!

如何将此 JSON 转换为 Backbone.js 集合/模型??

我更新了一个代码,但它没有像预期的那样工作!我看不到模型:

我的结构是:

[0] : 是模型的集合

[clefs] + ... + [Rest] : 是模型的集合

(clefs) => [0] + ... + [9] : 是模型(标题包含一个字符串,路径也是)

非常感谢!!

编辑(10.01.12):

我的解决方案:

window.initModel = Backbone.Model.extend({
  defaults: {
    "title": "",
    "path": ""
  }
});
window.CustomCollection = Backbone.Collection.extend({
  model: initModel
});
window.Init = Backbone.Model.extend({
  url : function(){
    return  "/api/data.json"      
  },

  parse: function(response) {

    clefs = new CustomCollection();
    clefs.add(response.clefs);        
    this.set({clefs: clefs});

    .....

    rests = new CustomCollection();
    rests.add(response.rests);        
    this.set({rests: rests});
} 
});

this也帮了我!

Nested Array

最佳答案

我在工作,所以我不能给你一个完整的编码答案,但要点是,你可以在你的顶级模型中执行以下操作来实现嵌套模型层次结构:

var AmericasNextTopModel = Backbone.Models.extend({
    initialize: function(){

        this.set({
             clefs: new ClefCollection(this.get('clefs')),
             accidentals: new AccidentalCollection(this.get('accidentals')),
             notes: new NoteCollection(this.get('notes')),
             rests: new RestCollection(this.get('rests'))
        });
    }
});

我不使用 backbone-relational,所以我不能就此给你答案。

您正在制作在线活页乐谱查看器/编辑器吗? :D 太棒了,我很乐意在你完成后看到它。

关于javascript - 如何使用 Backbone.js 从嵌套的 JSON 构建集合/模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8782619/

相关文章:

javascript - 替换 View 后主干 View 事件未触发,然后放回页面上

javascript - 我是否以正确的方式构建我的应用程序? - Backbone .js

javascript - Javascript函数参数的简单解释?

javascript - ckeditor:自定义特定区域

javascript - 使用 Underscore _.debounce() 触发单个事件

javascript - backbone.js IE8 appendChild() 错误

javascript - Backbone 关系中的更改事件不起作用

javascript - 现代(2018)浏览器不支持 forEach 吗?

javascript - 在网站中使用表情符号作为图标

javascript - _.result 用例示例