在ExtJS 4中动态加载一个非类
Dynamically loading a non-class in ExtJS 4
ExtJS 4
中有两个类(一个网格和一个表单),它们具有相关的属性(列和字段定义)。
我想为他们创建一个通用的定义文件,并动态加载它:
# app/common/Columns.js
Ext.ns('myapp.common');
myapp.common.Columns =
[
{
text: 'Name',
dataIndex: 'name',
},
{
text: 'Email',
dataIndex: 'email',
}
];
# app/view/Grid.js
Ext.define
(
'myapp.view.Grid',
{
extend: 'Ext.grid.Panel',
columns: myapp.common.Columns
}
);
# app/view/Form.js
Ext.define
(
'myapp.view.Form',
{
extend: 'Ext.form.Panel',
items: myapp.common.Columns.map
(
function(v)
{
return {
name: v.dataIndex,
fieldLabel: v.text,
};
}
);
}
);
正如您所看到的,app.common.Columns
不是一个类。
我知道我可以将它转换为一个类,并覆盖表单和网格的构造函数来使用它,但我希望保持简单。
我需要手动为app/common/Columns.js
添加<script>
标签吗?或者有一种方法可以动态加载它?
我不认为您可以在不定义类的情况下使用ExtJs加载器动态加载文件。他们的加载程序对类名和文件名的精确匹配非常挑剔。我刚试过你的样品,好像不起作用。
相关文章:
- 使用YUI或ExtJS将隐藏的DIV变成一个窗口
- 什么'是一个用于PHP+JS(extJS)开发的IDE,支持ctrl+click
- 从面板中调用一个在 ExtJs 中没有事件的方法
- EXTJS 4.2:点击按钮,在新窗口中将选定的网格行从一个网格复制到另一个网格
- 在一个扩展了Sonata管理twitch/Symfony 2的twitch中调用javascript(ExtJS)的问题
- ExtJS:为存储中的数据分配一个变量
- Extjs有一个关联
- ExtJS DataView只显示最后一个JSON元素
- extjs基于另一个组合框值过滤组合框
- 如何使用 ExtJS 4.1 将网格放入另一个网格的单元格中
- ExtJs 4.2, 网格中继来自存储加载事件的事件导致未捕获的类型错误: 未定义不是一个函数
- Extjs - 在行扩展器中选择一个表单
- 从另一个 ExtJS 自定义框架扩展组件
- 在 msg 框关闭时调用一个方法 - extjs
- ExtJs :一个列标题用于多个列
- 是否可以在没有app.js的情况下创建一个extjs应用程序的js文件(如构建版本)
- 试图弹出包含一个表单的窗口,但表单未显示-extjs 5
- EXTJS 4.1如何在树面板中选择下一个叶节点
- 如何加载单独的Extjs应用程序到另一个Extjs应用程序
- 如何POST一个extjs标签字段作为一个数组,没有引号