Ich habe eine Basisansicht erstellt, die ich erweitern möchte, was ich tun möchte, ist ein Selektor in der Basis zu animieren und deferreds auflösen zu verwenden und mit einer anderen Aktion in der erweiterten Ansicht fortzufahren, aber ich bin nicht sicher, wie dies zu erreichen? Im Augenblick ist das Konsolenprotokoll in dem, wenn Funktion protokolliert sofort:/Warten Sie, bis sich das Versprechen in der Basisansicht auflöst und die Aktion in der erweiterten Ansicht fortgesetzt wird?
JS
var ParentView = Backbone.View.extend({
template: Handlebars.compile($('.tmpl-example').html()),
initialize: function() {
},
render: function() {
this.$el.html(this.template());
_.defer(function() {
this.afterRender();
}.bind(this));
return this;
},
afterRender: function() {
this.deferred = $.Deferred();
this.$('.js-panel').addClass('animate');
this.$('.js-panel').on('transitionend', function() {
this.deferred.resolve();
}.bind(this));
}
});
var ChildView = ParentView.extend({
initialize: function() {
$.when(this.deferred).done(function() {
console.log('now go do something???');
});
}
});
JSFiddlehttp://jsfiddle.net/jn35b8pw/