Marionette.loading simplifies creating loading views in your application.
With little work your views are automatically replaced with loading view when your collections and models are syncing with server.
There are two ways to initialize Marionette.loading.
Easiest way is to use new View classes:
- Marionette.LoadingItemView
- Marionette.LoadingCollectionView
- Marionette.LoadingCompositeView
Alternatively you can call this.setupMarionetteLoading(); in any Marionette View (could be in initialize()). This will bind all necessary events.
Using Marionette.loading is similar to using emptyView in Marionette.CollectionView.
Just use loadingView property.
LoadingView = Backbone.Marionette.ItemView.extend({
template: "#show-loading"
});
Backbone.Marionette.CollectionView.extend({
// ...
loadingView: LoadingView
});
Trigger 'loading' event on your collection or model to force your view to change to loading. Trigger 'loaded' event to do opposite.
Marionette.loading counts all events. If you trigger 'request' or 'loading' event N times it requires trigerring 'sync' or 'loaded' items N times as well.