this.afterRefresh() non è una funzione

Ciao! È da un po’ che non controllo i nostri plugin. Dopo l’aggiornamento alla versione 2.4.0 beta, incontro errori durante il caricamento. La classe composer-editor.js fallisce con il messaggio “this.afterRefresh() is not a function”. A mio avviso, potrebbe trattarsi di un’azione obsoleta nella classe Component di Ember, ma potrei sbagliarmi. Non riesco a trovare nulla al riguardo. Potrebbe essere un codice legacy o sto utilizzando codice deprecato? Grazie.

Hai questo problema in modalità provvisoria?

È installato con i miei plugin, quindi la modalità provvisoria non mi aiuta a individuare il problema. Questo plugin in particolare utilizza il componente composer-editor in un file di template.

Ho controllato la versione v2.3.6 e cercato afterRefresh. Sembra che composer-editor.js lo utilizzi in modo diverso: this.afterRefresh($preview); invece di this.sendAction(‘afterRefresh’, $preview); Questo sembra almeno essere il problema.

Non era chiaro dal tuo post se pensavi che provenisse dai plugin o dal core.

Non posso aiutarti molto senza avere accesso al codice. Ma quello che hai detto è corretto: sendAction è deprecato e non dovrebbe più essere utilizzato; le azioni sono ora semplici closure.

Va bene, quindi chiamare l’azione come una funzione è ora il modo corretto? Allora immagino che dovrò rivedere il mio codice. Pensavo che potesse essere un bug.

Sì, chiamarlo come una funzione dovrebbe essere l’uso previsto.

Non avevo definito afterRefresh nei parametri del tag composer-editor nel file del template. Immagino sia necessario.