在ExtJS 4 MVC中,我应该在哪里定义全局函数
Where should I define global functions in ExtJS 4 MVC?
我需要定义一些函数,我可以在应用程序中的任何地方调用这些函数。实现这一目标的最佳方法是什么?
就我个人而言,为了尽可能保持EXT-MVC,我有一个充满静态方法的Utilities类。这可以像任何其他类一样被要求来维护适当的依赖关系。这也确保了方法在EXT环境中运行,因此所有EXT都可用。
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);
}
});
@David Kanarek的静态方法之外的另一种方法是定义单例。代码:
Ext.define('MyApp.Utilities2', {
singleton: true,
global_var2: 'Hello World',
foo2: function (a, b) {
return a + b;
},
});
我在这里制作了一把小提琴:https://fiddle.sencha.com/#fiddle/qu1
静态方法和单例方法之间的区别在于
- MyApp.Utilities2(singleton方法)是一个对象
- 实用程序(statics方法)是一个类
因此,这取决于您是引用类本身还是为了方便而引用该类的一个实例。
相关文章:
- 在哪里定义 num1 和 num2
- 在哪里键入自定义验证的代码
- 我想更改wordpress标题中的脚本链接.它们在哪里定义
- ExtJS:在哪里定义基类的原型扩展
- 我在哪里添加这个谷歌分析自定义变量代码
- 在ExtJS 4 MVC中,我应该在哪里定义全局函数
- 在JS中,我应该在哪里定义emscripten extern函数
- “窗户”在哪里?对象在firefox源代码中定义或创建
- 这里定义的样式在哪里
- 我可以在哪里放置我的Javascript模式定义
- 在哪里定义悬停类/行为来覆盖jquery的主题CSS
- “精灵”在哪里?定义的
- Javascript UMD -在哪里/如何是根,工厂定义
- 使用jQuery Validate插件时,form action/URL应该在哪里定义
- 由于r.js将AMD模块编译成一个大文件,所以在哪里是"asynchronous"在异步模块定义中
- 自定义javascript应该在哪里注入Wordpress主题?
- 我在哪里说错了?未定义工厂
- WordPress在哪里存储自定义的帖子类型?
- 在主干JS中,我在哪里定义几个视图之间共享的功能?
- 此 HTML 代码段中的 onclick 函数在哪里定义