在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帖子所涵盖的那样.