javascript - 如何在没有循环引用的情况下在 Controller 之间共享对象/方法?

标签 javascript extjs4

非常简单的问题。目前,当我需要在应用程序的大部分内容中访问对象的方法时,我会在 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 将负责最终文件中的正确顺序。 requiresuses 指令为您提供了足够的灵 active 来定义类之间的任何依赖关系。

阅读所有有关 MVC 的文档以获得清晰的理解。

关于javascript - 如何在没有循环引用的情况下在 Controller 之间共享对象/方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24916742/

相关文章:

javascript - 以 html 格式显示对象

javascript - Ajax 请求计时器更新间隙

javascript - 制作飞机座位图

extjs - 在ExtJS中获取事件元素?

extjs4 - 协会模式

javascript - 没有 hashbang 的动态 Web 应用程序 #!

javascript - 比较距元素顶部的垂直距离和距页面顶部的滚动距离

extjs4:如何向图表添加自定义监听器和工具提示?

ExtJS4 - 如何在选择更改时获取父网格?

javascript - Extjs4 选择网格行值?