Say Ho un modello che mostra una vista in base a una proprietà:Differire rimozione di una visualizzazione in modo che possa essere animata
{{#if App.contentsAreVisible}}
{{view ToggleContents}}
{{/if}}
Quest'area è attivata da un numero qualsiasi di altre parti dell'interfaccia utente modificando App.set("contentsAreVisible", [true/false]);
Tutto funziona correttamente.
Tuttavia, ora desidero animare quando la vista è attivata. L'hooking su didInsertElement
funziona per animare mostrando l'area, ma non posso fare lo stesso in willDestroyElement
perché l'elemento viene rimosso non appena la funzione restituisce, prima che l'animazione abbia la possibilità di essere eseguita.
App.ToggleContents = Ember.View.extend({
// this works fine
didInsertElement: function(){
this.$().hide().show("slow");
},
// this doesn't work
willDestroyElement: function(){
this.$().hide("slow", function(){
// animation is complete, notify that the element can be removed
});
}
});
C'è un modo per dire al fine di rinviare la rimozione del elemento dal DOM fino a quando l'animazione è completa?
Ecco un violino con un esempio interattivo: http://jsfiddle.net/rlivsey/RxxPU/
Questa è una grande soluzione e dovrebbe funzionare molto bene, grazie. – rlivsey
Il metodo _hideViewChanged non fa davvero molto per risolvere il problema, vero? – Rajat
È lì per il caso in cui si desidera nascondere la vista in modo programmatico impostando 'hideView'to' true' ... – pangratz