骨干视图呈现多个模型获取

时间:2014-11-27 17:28:11

标签: 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集合。 我想确保我的模型和集合在模板之前加载。

提前谢谢

1 个答案:

答案 0 :(得分:0)

您可以合并请求' fetch使用jquery.when返回的promise将同步渲染任务。类似的东西:

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;
}