Penso di capire la differenza tra _create
e _init
nelle definizioni dei widget (vedere ad esempio this question), ma non sono ancora sicuro dello scopo per la distinzione. Quali tipi di attività di configurazione vanno in _create()
o in _init()
? Cosa non va se l'autore del widget sceglie quello sbagliato?Come decidere tra _init e _create nel widget dell'interfaccia utente jQuery?
risposta
Da:
- http://forum.jquery.com/topic/jquery-ui-1-8-use-of-init
- http://www.erichynds.com/jquery/tips-for-developing-jquery-ui-widgets/
- http://jqueryui.com/demos/dialog/
Usa
_create
per costruire e iniettare markup, gli eventi si legano, ecc Mettere funzionalità predefinita in_init()
. Il widget di dialogo, ad esempio fornisce un parametro che indica se la finestra di dialogo deve essere aperta dopo l'inizializzazione del widget ; un posto perfetto per_init()
!
anche:
La fabbrica widget di attiva automaticamente le
_create()
e_init()
metodi durante l'inizializzazione, in questo ordine. A prima vista sembra che lo sforzo sia duplicato, ma c'è una differenza di vista tra tra i due. Poiché la fabbrica widget di protegge contro più istanze sullo stesso elemento ,_create()
sarà chiamato un massimo di una volta per ciascun widget esempio, mentre_init()
sarà essere chiamato ogni volta che il widget è chiamato senza argomenti ...
Se l'autore utilizza _init()
quando _create()
avrebbe dovuto essere codificato, il risultato sarà che il codice in _init()
verrà eseguita una volta per ogni widget di esemplificazione.
Risposta breve qui: _create() sarà eseguito quando si esegue il plugin jQuery-ui per la prima volta, come $ xx.your-plugin (le opzioni); _init() verrà eseguito prima e dopo la prima volta quando il codice viene eseguito in $ xx.your-plug (le opzioni);
Come ci sono un certo codice in jQuery-ui.custom.js come questo:
var instance = $.data(this, fullName);
if (instance) {
instance.option(options || {})._init();
}
Quindi, se si disegna un grafico con il plugin jQuery-ui, dopo che è tirato fuori, poi si desidera per utilizzare i nuovi dati per aggiornarlo, è necessario eseguire questa operazione in _init() per aggiornare il grafico. Se si visualizza qualcosa e non si aggiornano completamente, _create() soddisferà le proprie esigenze.
- 1. Come estendere il metodo _create del widget UI jQuery?
- 2. Decidere tra extJS e GWT
- 3. Come gestire gli eventi nei widget dell'interfaccia utente jQuery
- 4. jQuery nel widget
- 5. Come estendere un widget ui jquery? (1.7)
- 6. Widget valutazione stelle per interfaccia utente jQuery
- 7. Android: decidere tra SurfaceView e OpenGL (GLSurfaceView)
- 8. Decidere tra Umbraco e Orchard ASP.NET CMS
- 9. JQuery - Widget Public Methods
- 10. Come decidere tra l'iterazione lambda e il ciclo normale?
- 11. Come testare un widget Sortable dell'interfaccia utente JQuery utilizzando Selenium?
- 12. Come memorizzare una proprietà interna nel widget jquery-ui?
- 13. Decidere tra Apache Commons exec o ProcessBuilder
- 14. Accesso widget di esempio da widget di fuori
- 15. Aggiunta e aggiornamento dinamico degli elementi al widget Accordion nell'interfaccia utente jQuery
- 16. Come decidere il numero di porta tra la comunicazione client e server su internet
- 17. Come dovrebbe il mio team decidere tra architetture a 3 e 2 livelli?
- 18. Android: animare programmaticamente tra le immagini nel widget Galleria
- 19. Come creare un widget meteo usando jquery e alcune API?
- 20. Decidere tra Spring Batch Step, Tasklet o Chunks
- 21. Come decidere se utilizzare newCachedThreadPool o newFixedThreadPool?
- 22. Come decidere dove memorizzare lo stato per utente? Registry? AppData? Storage isolato?
- 23. QT Come incorporare un'applicazione nel widget QT
- 24. Differenza tra jquery e $
- 25. Come ottenere cmd nel widget di Tkinter
- 26. Come stile un Widget nel frutteto?
- 27. Come testare il widget del cursore dell'interfaccia utente jQuery con Selenium IDE?
- 28. wp_dropdown_pages come opzione nel mio widget
- 29. Implementare ClickHandler nel widget personalizzato
- 30. Come verificare se il widget dell'interfaccia utente jQuery è stato caricato?
Bene, una volta per * chiamata * al widget :-) In ogni caso, quel secondo collegamento ha un valore inestimabile (su questo e altri problemi); non so come l'ho perso Grazie mille! –