10

私はBackbone.jsに比較的慣れていません

写真のようなJSONがあります!Backbone-relationalに関連していくつかの回答を見ましたが、それでも要点はわかりません。

このJSONをBackbone.jsコレクション/モデルに変換するにはどうすればよいですか?

コードで更新しましたが、期待どおりに動作しません!私がするとき、私はモデルを見ることができません:

私の構造は:

[0]:モデルのコレクションです

[音部記号]+... + [Rest]:モデルのコレクションです

(音部記号)=> [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});
} 
});

これも私を助けてくれました!

ネストされた配列

4

3 に答える 3

18

私は仕事をしているので、完全にコード化された答えを出すことはできませんが、要点は、ネストされたモデル階層を実現するために、最上位モデルで次のことを行うことができます。

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'))
        });
    }
});

私はバックボーンリレーショナルを使用していないので、それについて答えることはできません。

オンラインの楽譜ビューア/エディタを作成していますか?:Dクール終わったら見たいです。

于 2012-01-09T00:15:36.283 に答える
0

このresetメソッド(「reset」を参照)を使用すると、JSON配列をコレクションに渡すことができます。これはPUTメソッドと同等であり、指定されたコレクションをJSONハッシュに置き換えます。

このメソッドを使用addして既存のコレクションに追加したり、新しいコレクションを作成するときにJSONハッシュをコンストラクターに渡したりすることもできます。

配列を適切な形式にするには、配列の基本的なクリーンアップを行ってから、JSONに変換する必要があります。

于 2012-01-09T00:14:26.287 に答える
0

別のドメインにあるため、PHPを使用してフィードをJSONとして取得しています。これらの結果をJS変数に保存し、これを使用してバックボーンコレクションに取り込むことに成功しました...

var feedCollection = new Backbone.Collection();
feedCollection.set(myFeedJSON.nestedObject.nestedArrayIWant);
于 2013-10-14T19:43:11.170 に答える