0

私はセットアップされ、適切に動作している以下を持っています。

 require(['models/profile'], function (SectionModel) {
            var sectionModel = new SectionModel({id: merchantId, silent: true});
            sectionModel.fetch({
                success: function (data) {
                    $('#merchant-name').html(data.attributes.merchantName);
                }
            });
        });

ただし、1 つのインスタンスでのみ機能します。上記のコードを正しく編集して複数のインスタンスを許可する方法を知りたいです。

<h3 id="merchant-name"></h3>

コンテンツは「保存」機能内で生成されます。

        merchantName:$('#merchantName').val(),
4

1 に答える 1

1

ここで行う必要があるのは、バックボーン アプリケーションの残りのコンポーネントをセットアップすることです。Backbone.js の優れた点は、コレクション、モデル、およびビューを分離して、ロジックを適切な場所に配置できることです。

コレクションを使用してサーバーからモデルを取得するには、AJAX 呼び出しを使用する必要があります。次に、コレクションのリセット機能を使用します。

サーバーからモデルのコレクションを取得する方法の例を次に示します。

var MyCollectionType = Backbone.Collection.extend({
    getModelsFromServer:function()
   {
       var me = this;
       function ajaxSuccess(data,  textStatus, jqXHR)
       {
       me.reset(data);
       }

       $.ajax(/* Insert the ajax params here*/);

   } 

});

var collectionInstance = new MyCollectionType({
    model:YourModelTypeHere
    });

collectionInstance.getModelsFromServer();

次に、それぞれをレンダリングするために、各モデルのビューとコレクション ビューを作成する必要があります。基本的な Backbone.js を学習するためのリソースはたくさんありますが、それらのいくつかを見ると役立つと思います。

バックボーン コレクションは、デフォルトで同じ ID を持つモデルをマージすることに注意してください。「id」は通常、アプリケーションのバックエンドのモデルを参照するため、各 ID が実際に希望するものであることを確認してください。Restfull 以外のバックエンドを持つアプリケーションを使用しているため、ID がフロントエンドに転送されることはありません。

Backbone.js から始めるための優れたリソースがいくつかあります。

https://www.codeschool.com/courses/anatomy-of-backbonejs (これは、ある程度までは無料のコースであり、優れたスターターです。)

http://net.tutsplus.com/tutorials/javascript-ajax/getting-started-with-backbone-js/

http://javascriptissexy.com/learn-backbone-js-completely/

于 2013-10-11T00:53:24.243 に答える