Devo definire alcune funzioni che posso chiamare ovunque nella mia app. Qual è l'approccio migliore per raggiungere questo obiettivo?Dove dovrei definire le funzioni globali in ExtJS 4 MVC?
23
A
risposta
47
Personalmente, per tenerlo come EXT-MVC possibile, ho una classe di utilità piena di metodi statici. Questo può essere richiesto come qualsiasi altra classe per mantenere relazioni di dipendenza appropriate. Ciò garantisce anche che i metodi vengano eseguiti in un ambiente EXT, quindi tutto EXT è disponibile.
Ext.define('MyApp.Utilities', {
statics: {
foo: function (a, b) {
return a + b;
}
}
});
Ext.define('MyApp.MyView', {
extends: 'Ext.panel.Panel',
requires: ['MyApp.Utilities'],
initComponent: function() {
MyApp.Utilities.foo(1, 2);
}
});
4
Un approccio alternativo diverso dall'approccio statico di @David Kanarek consiste nel definire un singleton. Codici:
Ext.define('MyApp.Utilities2', {
singleton: true,
global_var2: 'Hello World',
foo2: function (a, b) {
return a + b;
},
});
Ho creato un violino qui: https://fiddle.sencha.com/#fiddle/qu1
La differenza tra la statica e l'approccio Singleton è che
- MyApp.Utilities2 (approccio Singleton) è un oggetto,
- MyApp.Utilities (approccio statico) è una classe.
Quindi sta a te decidere se fare riferimento alla classe stessa o fare riferimento a un'istanza di quella classe per praticità.
Problemi correlati
- 1. definire variabili e funzioni globali in build.gradle
- 2. Come definire le funzioni globali della shell in un Makefile?
- 3. Dove dovrebbero essere posizionate le funzioni "globali" di Symfony?
- 4. Dove dovrei definire i miei datatemplates?
- 5. Funzioni globali in Aurelia
- 6. Estendere il controller nell'applicazione MVC ExtJS 4
- 7. ASP.NET MVC 4 Funzioni mobili
- 8. Dove definire le enumerazioni
- 9. Dove dovrei inserire funzioni varie in un progetto .NET?
- 10. Funzioni globali in angularJS
- 11. Definire i parametri globali
- 12. registrare filtri globali in ASP.Net MVC 4 e Autofac
- 13. Python definire le funzioni dinamiche
- 14. Definire le funzioni nelle strutture
- 15. globali Swift e funzioni globali in Objective C
- 16. dove definire le costanti in cakephp
- 17. È possibile definire le variabili globali di Playbook in Ansible?
- 18. percorsi relativi utilizzando extjs 4
- 19. Come dovrei usare ReturnUrl = ViewBag.ReturnUrl in MVC 4
- 20. Come posso utilizzare le funzioni globali in Angularjs Goniometro?
- 21. Dove dovrei inserire le interfacce per MEF?
- 22. Dove dovresti inserire le costanti globali in un programma C++?
- 23. Dove mettere le variabili globali in Rails 3
- 24. Dove dovrei inserire le funzioni di utilità di test in Rust?
- 25. Valore predefinito combobox Extjs 4
- 26. Qual è il modo drupal per definire le costanti globali?
- 27. Dove dovrei inserire il mio viewdata fortemente tipizzato asp.net-mvc?
- 28. EXTJS 4 - Listener globale di eccezioni
- 29. ExtJS 4 ComboBox completamento automatico
- 30. Extjs 4 checkcolumn non visibile
Puoi fornire qualche piccolo esempio della tua idea? –
Ho aggiunto del codice alla mia risposta, fammi sapere se è d'aiuto. –
La chiamata 'Utilities.foo' non dovrebbe essere' MyApp.Utilities.foo'? – JohnnyHK