你如何在MVC模式中包含UX类?

Aci*_*ier 11 extjs gridpanel

在MVC模式之前,我将简单地通过将其包含在JS的顶部来包含UX类,之后Ext.onReady:

Ext.Loader.setConfig({enabled: true});
Ext.Loader.setPath('Ext.ux', 'extjs/examples/ux');
Ext.require([
    'Ext.ux.grid.FiltersFeature'
]);
Run Code Online (Sandbox Code Playgroud)

现在我正在使用MVC模式,我有一个需要使用相同功能的网格面板.我在视图中包含了一个require语句,如下所示:

Ext.define('ST.view.StudentLog', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.studentlog',
    requires: [
        'Ext.ux.grid.FiltersFeature'
    ],
Run Code Online (Sandbox Code Playgroud)

但该应用程序首次开始加载时会产生404错误.

有任何想法吗?

编辑:

我已经尝试在视图的顶部放置相同的代码块也无济于事(参考Ext.Loader.setConfig / .setPath块).

extjs/src/ux/无论我如何尝试告诉它,加载器都会继续尝试加载UX类.根据这个建议,我也尝试在我的应用程序控制器中定义一个路径属性,但它看起来像回答者在后面看到的那样在4.1 rc3中不存在,因为我找不到它而它没有工作.

如果我只是在带有<script>标记的HTML中将FilterFeature.js添加为导入的源文件,那么当我的应用程序启动时,它的所有依赖项都会出现404错误.

必须有一种简单的方法可以直接从UX文件夹中将UX类包含在应用程序中,以便它可以链接到其他UX依赖项.

Aci*_*ier 14

好的,我从这篇文章中找到了它.

只需要Ext.Loader.setPath在app控制器的顶部使用调用,例如:

Ext.Loader.setPath('Ext.ux', 'extjs/examples/ux');
Ext.application({
    name: 'ST',
    autoCreateViewport: true,
    ...
Run Code Online (Sandbox Code Playgroud)

或者你想把ux类放在哪里,为了缩小目的,应该将特定应用程序的UX类拉出来并卡在你自己的文件夹中,就像app/ux帖子所涵盖的那样.