0

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。何か問題があるに違いない。

コレクション自体を反復処理するにはどうすればよいですか?

4

1 に答える 1

1

mu のおかげでここで完璧な解決策を見つけました!

于 2012-08-27T07:40:22.607 に答える