Sencha touch 2 如何添加';Ext.require';在Sencha建筑师2

Sencha touch 2 如何添加';Ext.require';在Sencha建筑师2,sencha-touch-2,sencha-architect,Sencha Touch 2,Sencha Architect,按照说明,为了使用本机API,我需要在代码中添加一个“Ext.require()”。在Sencha Architect 2中如何实现这一点?似乎自定义函数或事件之外的所有内容都是只读的,因此我不能随意添加自己的代码。Architect中的下一次更新要求将其作为应用程序节点上的属性,以便您可以将其添加到应用程序节点上。现在,只需在应用程序启动函数中添加requires,因为它是可写的。正如Bharat Nagwani所建议的,架构师现在提供了一种方法,可以要求动态加载任何类 Luca Candel

按照说明,为了使用本机API,我需要在代码中添加一个“Ext.require()”。在Sencha Architect 2中如何实现这一点?似乎自定义函数或事件之外的所有内容都是只读的,因此我不能随意添加自己的代码。

Architect中的下一次更新要求将其作为应用程序节点上的属性,以便您可以将其添加到应用程序节点上。现在,只需在应用程序启动函数中添加requires,因为它是可写的。

正如Bharat Nagwani所建议的,架构师现在提供了一种方法,可以要求动态加载任何类

Luca Candela和我几周前在伦敦展示了一个演示Ext.device.Camera API使用的小应用程序。

要在应用程序中包含设备api,请执行以下操作:

  • 进入Sencha SDK并将设备文件夹复制到项目目录中
  • 在Architect内部,单击应用程序节点
  • 在配置面板中搜索“需要”
  • 将“Ext.device.Camera”添加到所需配置中
  • 在配置面板中搜索“加载器”
  • 单击加载程序配置右侧的+
  • 单击新添加的“加载程序”节点(应用程序的子节点)
  • 添加路径“{”Ext.device:“device/”}
总之,确保文件在那里。告诉应用程序您需要该类,然后告诉加载程序在哪里可以找到您刚刚放入项目文件夹的文件。

需要代码的视图(或适用的MVC)定义了此要求,因此仅在需要时才调用它

Ext.define('MyApp.view.SomePageView', {
    extend: 'Ext.Panel',
    alias: 'widget.somepageview',

    requires: [
        'Ext.device.Camera', // requires go here!
        '...'
    ]
对于本机需求(不是自定义扩展),请查看Sencha文档右侧的一栏。对于本例和ST2.3.1,可以找到它。在顶部,您可以看到Ext.device.Camera直接从Ext.Base下降,不需要Ext.device。在定义的需求块的底部,有一个Camera.js的链接。打开这个链接,你可以看到到底发生了什么。通过定义
requires:['Ext.device.Camera']
您还可以自动加载操作所需的所有内容


在Architect中,定义主MVC或S时,会将其添加到应用程序中。所以在Architect中,我将能够看到在Application>Ext.app.Controller>views下列出的一些页面视图。在构建过程中,这个应用程序的需求链将包含在最终包中,无论是使用架构师的构建,还是使用sencha Cmd调用命令行,如
sencha app build

请看,我试过了,但我认为它不起作用。如果我尝试引用Ext.device名称空间来查找我的应用程序刚刚中断的任何内容(在iphone模拟器上)。如果没有这一点,该应用程序就可以正常工作。你能提供更多的信息吗?