我想在Ext JS 4中创建一个单例对象。
这是我的代码:
Ext.define('AM.model.Test', {
extend : 'Ext.util.Observable',
singleton : true,
foo : function() {
console.log('log 1');
},
constructor : function() {
}
});
我称之为:
AM.model.Test.foo();
只要我在app.js中定义define,一切正常。 当我尝试将此定义移动到'app \ model \ Test.js'时,我收到此错误:
AM.model.Test is undefined [Break On This Error]
AM.model.Test.foo();
我的代码出了什么问题?
答案 0 :(得分:5)
您需要设置动态加载,并要求您打算使用它的类。
例如:
Ext.Loader.setConfig({
enabled: true,
paths: {
'AM': 'app'
}
});
Ext.require('AM.model.Test');
Ext.onReady(function() {
// now all the required classes are loaded and you can start using them
AM.model.Test.foo();
});