jquery - 複数モデルのフェッチによるバックボーンビューのレンダリング

原文 jquery backbone.js collections model fetch

バックボーン付きのhtmlテンプレートに1つのモデルと1つのコレクションを費やす必要があります。しかし、時々、htmlはモデルの後で準備ができています。
私が持っています :

var FormUtilisateurView = Backbone.View.extend({

    initialize: function(id){
        this.listeClient = new ClientsCollection();
        this.utilisateur = new UtilisateurModel({ id : id });
    },

    render: function(){
        var that = this;
        this.utilisateur.fetch();
        this.listeClient.fetch().done(function(){
            that.$el.html(FormTemplate({ clients : that.listeClient.models, user : that.utilisateur }));

        });
        return this;
    }
});


ここでは、listeClientコレクションのみがロードされます。
モデルとコレクションがテンプレートの前に読み込まれるようにしたい。

前もって感謝します
答え
fetchによって返されたリクエストのpromiseをjquery.whenと組み合わせて、レンダリングタスクを同期できます。何かのようなもの:

render: function(){
    var that = this, promises = [], 
        user = this.utilisateur, clients = this.listeClient;

    promises.push(user.fetch());
    promises.push(clients.fetch());

    $.when.apply(null, promises).done(function(){
        that.$el.html(FormTemplate({clients: clients.models, user: user}));
    });

    return this;
}
関連記事

javascript - <a>タグが混在するテキストノードをjQueryでラップする方法は?

javascript - ドロップダウンに表示される複数のcssファイルからCSSクラスのリストを取得します

javascript - HTMLに解析されたJSONデータの<script>タグのエスケープ/削除

javascript - node.jsのjQueryパッケージに$ .ajaxメソッドがないのはなぜですか?

javascript - iPadのフルカレンダーバージョン2のドラッグイベント

jquery - jqueryバリデーターにカスタムメソッドを追加する

jquery - AJAXコールバックを介してDOMを変更すると、ブートストラップモーダルが消える

jquery - jQueryセレクターは、モーダルが非表示の場合、ブートストラップのモーダルを見つけることができません

jquery - Enterキーを押して複数のフォームでOnclick関数を起動する

javascript - JavaScript画像のsrc属性が誤った値を返す