-1

初心者の質問を投稿しようとしているが、「品質基準」フィルターを通過していない。エラーメッセージのスレッドを読みました。初心者の質問は基本的すぎますか? 理解できますが、それをエラーメッセージに入れる方が良いかもしれません. 私は自分のコードを含め、私の英語はコード ブロックの外側で正しいです。質問が解決されていないか、少なくともさまざまな検索パターンから返されていません。複数の書き換えがハードルをクリアしたり、明らかに初心者の問題を解決したりしていないため、フィルターにアピールする方法はありますか? フィルターをハックしようとする最後の溝で、元の質問をいくつかの英語のみの編集で以下に貼り付けます。編集 - これは機能しているようですが、上記の段落を残して、ジンクスしないようにします。

データをバックボーンにロードしようとしていますが、レンダリング機能が起動していません。Firebug は、GET が正しいデータ文字列で到着していることを示しています。「this」を変数に割り当てて関数として起動しようとしましたが、まだ運がありません。

(function($) {
var DObj = Backbone.Model.extend({
    defaults: {
        dstring: 'dstring again'
    },
});

var MObs = Backbone.Collection.extend({
    defaults: {
        model: DObj
    },
    model: DObj,
    url: 'scr/bbone.php'
});

var MView = Backbone.View.extend({
    initialize: function() {
        this.collection = new MObs();
        //this.collection.bind("reset", this.render, this);
        this.collection.on("sync", this.render, this);
        //this.collection.bind("change", this.render, this);
        this.collection.fetch();
    },
    render: function() {
        alert("here : ");
    }
});
var newMob = new MView();

})(jQuery);
4

1 に答える 1

1

サーバーからの応答をモックするためにmockjaxでコードを書き直しました。これは次のとおりです。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-mockjax/1.5.1/jquery.mockjax.min.js"></script>

<script>

var DObj = Backbone.Model.extend({
});

var MObs = Backbone.Collection.extend({

    model: DObj,
    url: '/movies'
});

$.mockjax({
   type: 'GET',
   url: '/movies',
   contentType: 'text/json',
   status: 200,
   response:  function() { 
      this.responseText = JSON.stringify(new MObs([{ name: 'Lincoln' }, { name: 'Argo' }])); 
   }
});

var MView = Backbone.View.extend({
    initialize: function() {
        this.collection.on("sync", this.render, this);
    },
    render: function() {
        alert("here : ");
    }
});

(function($) {
   var newCol = new MObs();
       newMob = new MView({ collection: newCol });

   newCol.fetch({ 
      success: function () { console.log('Success'); },
      error: function() { console.log('Error'); }
   });

})(jQuery);

コードには多くの問題があると思います。具体的に求めていた問題は、サーバーの応答に関係しています。上記のコードでアラートが表示されるはずです。他の人のために backbone.js のドキュメントを読むことをお勧めします。

于 2013-05-03T06:56:27.043 に答える