Представление магистрали, инициализация и рендеринг

У меня есть основное представление, которое загружает подпредставление. Когда я загружаю подпредставление, я хотел бы показать загрузчик, когда представление извлекает необходимые данные, и скрыть загрузчик, когда представление готово к отображению.

Я сделал что-то вроде этого:

var appView = Backbone.View.extend({
    showLoader: function() {
        // Code to show loader
    },

    hideLoader: function() {
        // Code to hide loader
    },

    loadSubView: function() {
        this.showLoader();
        var myView = new MySubView();
        this.$el.html(myView.render().el);
        this.hideLoader();
    }
});

На данный момент мое подпредставление загружает коллекцию и реализовано следующим образом:

var mySubView = Backbone.View.extend({
    initialize: function() {
        this.myCollection.fetch({
            async: false
        });
    },

    render: function() {
        // Code to render
    }
});

Мое подпредставление загружает коллекцию синхронно, потому что это единственный способ узнать, когда мой представление «готово» к рендерингу, но я думаю, что это не лучший способ использования Backbone.

Что мне делать?

7
задан Mickael 15 June 2012 в 11:30
поделиться