ExtJS 4.2 - Ext.ux.Printer库/类不起作用

时间:2014-11-09 09:49:11

标签: extjs extjs4 extjs4.2

美好的一天。对不起,但我偶然发现了一个我似乎无法弄清楚过去几个小时的问题。我下载了这个printing class,以便能够在我的网络应用程序中打印我的表格。我将Ext.ux.Printer文件夹复制到scripts内的resources文件夹中。文件路径如下:resources/scripts/Ext.ux.Printer,资源文件夹与app文件夹位于同一级别。

我的装载机看起来像:

Ext.Loader.setConfig({
    enabled: true,
    paths: {
        'Ext.ux.Printer': 'resources/scripts/Ext.ux.Printer/Printer'
    }
});

应用程序看起来像:

Ext.application({

    requires: [
        'Ext.Loader',
        'Ext.layout.container.Absolute',
        'resources.scripts.Notification',
        'Ext.layout.container.Column',
        'Ext.ux.Printer.Printer'
    ], //models, views, controllers, follow after

我尝试在我的代码中使用它:

Ext.ux.Printer.print(form);

但是,每当我尝试执行上面的代码行时,我都会得到Uncaught TypeError: Cannot read property 'Printer' of undefined

任何人都可以帮助我吗?我是ExtJS4的初学者,我只是想跟随我在互联网上看到的例子 - 有可能我试图用我在网上看到的东西错误地使用我的代码。

非常感谢任何帮助,谢谢。

更新1

在下面与Guilherme Lopes讨论后,我们做了以下步骤:

  1. 通过将其添加为Sencha Architect中的js资源来导入js文件。确保文件路径正确。
  2. 选中includeAfterAppJS复选框。由于Architect中存在错误,有时会在ExtJS之前添加JS文件。
  3. 打开index.html使用ext-all.js代替ext-dev.js。请注意,每次保存项目时,Sencha Architect都会覆盖/重置此文件。快速解决方法是转到项目设置并取消选中更新index.html。
  4. 尝试Ext.ux.Print.print(form);

1 个答案:

答案 0 :(得分:0)

根据开发人员的说明,您应该使用主html文档导入脚本文件,就像使用ExtJS类一样(如果您没有使用引导程序)。

导入ExtJS库后应添加以下行:

<script type="text/javascript" src="Printer.js"></script>
<script type="text/javascript" src="renderers/Base.js"></script>

The library currently comes with renderers for Ext.grid.GridPanel, and Ext.tree.ColumnTree.
These can be included as required:
<script type="text/javascript" src="renderers/GridPanel.js"></script>
<script type="text/javascript" src="renderers/ColumnTree.js"></script>

你对Ext.ux.Printer的调用应该开始工作了。

如果您使用的是Architect,请点击以下内容添加外部JS文件:+ =&gt;资源=&gt; JS资源 然后将URL更改为您需要的路径(对要添加的每个文件执行此操作) *我只需取消选中x-compile和x-bootstrap

Adding resource Changing Settings