1

こんにちは、JSON をバックボーン コレクションにロードするための適切なソリューションを探しています。この問題に関する投稿をたくさん見ましたが、正しく行う方法がまだわかりません。たとえば、このプロジェクトがうまくいかない理由を教えてください。 http://blog.joelberghoff.com/2012/07/22/backbone-js-tutorial-part-1/

編集:
Firebug を使用して結果を見ると、空のオブジェクトが表示され、コレクションは空です。なんで?
編集:
うーん、まだ動作しません:/今、firebug と 1 つのページに何も表示されません。:(

        $(function() {
            var Profile = Backbone.Model.extend();

            var ProfileList = Backbone.Collection.extend({
                model: Profile,
                url: 'profiles.json'
            });   

            var ProfileView = Backbone.View.extend({
                el: "#profiles",
                template: _.template($('#profileTemplate').html()),
                render: function(eventName) {
                    _.each(this.model.models, function(profile){
                        var profileTemplate = this.template(profile.toJSON());
                        $(this.el).append(profileTemplate);
                    }, this);

                    return this;
                }
            });

            var profiles = new ProfileList();    
            var profilesView = new ProfileView({model: profiles});
            var profiles = new ProfileList(); 
            profiles.fetch();
            profiles.bind('reset', function () {
                console.log(profiles);
                profilesView.render();
            });

        });
4

1 に答える 1

3

チュートリアルに書かれていると確信しているように、フェッチ呼び出しは非同期です。したがって、 を実行しているときconsole.log、コレクションはまだ空です。
チュートリアルのさらに先..:

var profiles = new ProfileList(); 
profiles.fetch({reset: true});
profiles.bind('reset', function () { console.log(profiles); });

これはうまくいくはずです。

于 2013-04-10T13:29:47.360 に答える