RequireJS の上に単純なバックボーン アプリを実装しようとしていますが、うまくいきません。具体的には、コレクション自体を反復処理することはできません。以下は、それぞれのファイルから抽出されたモデル/コレクション/ビューです。
モデル:
define([
'backbone'
], function(Backbone) {
'use strict';
var m_Song = Backbone.Model.extend({
});
return m_Song;
});
コレクション:
define([
'backbone',
'../models/model'
], function(Backbone, m_Song) {
'use strict';
var c_Songs = Backbone.Collection.extend({
model: m_Song,
url: './path/to/JSON.json',
initialize: function() {
this.fetch();
}
});
return new c_Songs();
});
意見:
define([
'jquery',
'underscore',
'backbone',
'../collections/collection'
], function($, _, Backbone, c_Songs) {
'use strict';
var v_Main = Backbone.View.extend({
initialize: function() {
this.render();
},
render: function() {
var $_html = (function(){
var $_res = [];
console.log(c_Songs);
c_Songs.each(function($_v, $_k) {
/* =====================> Codes in here won't run <===================== */
});
_.each(c_Songs, function($_v, $_k) {
/* =====================> Won't run either <===================== */
});
return $_res;
})();
return this.$('tbody').append($_html);
}
});
私は何か間違ったことをしていますか?記録のために、以下はの出力ですconsole.log(c_Songs);
:
─ d
├─ _byCid
├─ _byId
├─ length
└─ models
├─ length
└─ 0
├─ _callbacks
├─ _escapedAttributes
├─ _pending
├─ _previousAttributes
├─ _silent
├─ attributes
└─ (My JSON response can be found here!)
├─ changed
├─ cid
└─ collection
しかし、次のような奇妙な方法で JSON データにアクセスするべきではないと確信していますc_Songs.models[0].attributes
。何か問題があるに違いない。
コレクション自体を反復処理するにはどうすればよいですか?