非常简单的问题。目前,当我需要在应用程序的大部分内容中访问对象的方法时,我会在 app.js
Ext.define('Utils', {
statics: {
myMethod: function() {
return 'myResult';
}
}
});
这可行,但是当我构建应用程序时,我收到有关循环引用的警告(app.js 当然需要所有其他 Controller 类,但随后所说的类引用回 app.js)。
我想过使用一个包含 .js 文件的包,该文件包含所有对象/方法,但有时,在这些方法中我需要访问 Ext
命名空间,这样就行不通.
有没有更好的方法来做到这一点?
谢谢!
最佳答案
您不应在 app.js
中定义类 Utils
。每个 Ext.define 语句都应位于其自己的文件中。另外,类名应该以您的应用程序名称作为前缀。
Ext.define('MyApp.Utils', {
statics: {
myMethod: function() {
return 'myResult';
}
}
});
因此,应在文件 app/Utils.js
中找到 。将源代码编译成已编译的 app.js
时,Sencha Cmd 将负责最终文件中的正确顺序。 requires
和 uses
指令为您提供了足够的灵 active 来定义类之间的任何依赖关系。
阅读所有有关 MVC 的文档以获得清晰的理解。
关于javascript - 如何在没有循环引用的情况下在 Controller 之间共享对象/方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24916742/