美好的一天。对不起,但我偶然发现了一个我似乎无法弄清楚过去几个小时的问题。我下载了这个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讨论后,我们做了以下步骤:
includeAfterAppJS
复选框。由于Architect中存在错误,有时会在ExtJS之前添加JS文件。 index.html
使用ext-all.js
代替ext-dev.js
。请注意,每次保存项目时,Sencha Architect都会覆盖/重置此文件。快速解决方法是转到项目设置并取消选中更新index.html。Ext.ux.Print.print(form);
答案 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