如何在ext js中导入插件类?

时间:2011-02-10 19:12:57

标签: extjs

如果我正在开发一个在网格中使用的exts插件类。让我们说插件类的名称是GridFilters.js,在插件类中,我们有:Ext.namespace("Ext.ux.grid") 在我的SomeGrid.ui.js类中,我正在做:

SomeGridUi = Ext.extend(Ext.grid.GridPanel, {
  title: '',
  frame: true,
  loadMask: true,
  cls: 'vline-on',
  flex :1,
  plugins : new Ext.ux.grid.GridFilters({filters:[
    {type: 'string',  dataIndex: 'someIndex'}
  ]}),

它说:

Message: 'Ext.ux.grid.GridFilters' is null or not an object

据我所知,需要进行某种导入......但不确定具体如何。

2 个答案:

答案 0 :(得分:3)

是的,您需要在GridFilters.js之前添加HTML以加载SomeGrid.ui.js文件。

您的插件当然必须添加到命名空间

Ext.ux.grid.GridFilters = ....

答案 1 :(得分:0)

将插件的<script>标签添加到HTML中 - 就像Mchl说的那样 - 是最简单的解决方案。

但是,当您开发更大的东西时,我强烈建议您查看某种动态加载解决方案:

RequireJS可能是这方面最接近标准的。许多项目都在那里使用。

对于ExtJS,特别是已经提到的Ext.Loader,但这可能过于简单了,不能做任何严肃的事情。最重要的是,它不包括将其全部构建到一个紧凑的JavaScript文件中进行部署的工具。

然后有承诺的ExtJS 4,应该随附所有内容。但是还是要等待它......