文档帮助

术语、图标和标签

许多类在用配置对象创建(实例化)类时都有快捷名称。快捷名称被称为 alias(别名)(如果类扩展了 Ext.Component,则为 xtype)。别名/xtype 列在适用类的类名旁边,以便快速参考。

访问级别

框架类或其成员可以指定为 private(私有的)或 protected(受保护的)。否则,类/成员为 public(公共的)。Publicprotectedprivate 是访问描述符,用于传达应如何以及何时使用类或类成员。

成员类型

成员语法

下面是一个类成员示例,我们可以对其进行剖析以显示类成员的语法(在本例中,是从 Ext.button.Button 类查看的 lookupComponent 方法)。

lookupComponent ( item ) : Ext.Component
受保护的

当原始配置对象添加到此容器时调用,无论是在 items 配置的初始化期间,还是在添加新项目时 added),或 {@link #insert inserted

此方法将传递的对象转换为实例化的子组件。

当需要对子组件创建应用特殊处理时,可以在子类中重写此方法。

参数

item :  Object

正在添加的配置对象。

返回值
Ext.Component

要添加的组件。

让我们看一下成员行的每个部分

成员标志

API 文档使用许多标志来进一步传达类成员的功能和意图。标签可以用文本标签、缩写或图标表示。

类图标

- 表示框架类

- 单例框架类。*有关更多信息,请参阅单例标志

- 组件类型框架类(Ext JS 框架中扩展 Ext.Component 的任何类)

- 表示类、成员或指南在当前查看的版本中是新的

成员图标

- 表示 config 类型的类成员

- 表示 property 类型的类成员

- 表示 method 类型的类成员

- 表示 event 类型的类成员

- 表示 theme variable 类型的类成员

- 表示 theme mixin 类型的类成员

- 表示类、成员或指南在当前查看的版本中是新的

类成员快速导航菜单

在 API 文档页面上的类名下方,有一行按钮,对应于当前类拥有的成员类型。每个按钮显示按类型划分的成员计数(此计数在应用过滤器时会更新)。单击按钮将导航到该成员部分。将鼠标悬停在成员类型按钮上将显示该类型的所有成员的弹出菜单,以便快速导航。

Getter 和 Setter 方法

与类配置选项相关的 Getter 和 setter 方法将显示在方法部分以及 API 文档和成员类型菜单的配置部分中,就在它们所作用的配置下方。Getter 和 setter 方法文档将在配置行中找到,以便于参考。

历史记录栏

您的页面历史记录保存在本地存储中,并显示在顶部标题栏下方(使用可用的实际空间)。默认情况下,显示的唯一搜索结果是与您当前查看的产品/版本匹配的页面。您可以通过单击历史记录栏右侧的 按钮并选择“全部”单选按钮来展开显示的内容。这将显示历史记录栏中所有产品/版本的所有最近页面。

在历史记录配置菜单中,您还将看到最近访问页面的列表。结果按“当前产品/版本”和“全部”单选按钮过滤。单击 按钮将清除历史记录栏以及本地存储中保存的历史记录。

如果在历史记录配置菜单中选择“全部”,则“在历史记录栏中显示产品详细信息”复选框选项将启用。选中后,每个历史页面的产品/版本将在历史记录栏中的页面名称旁边显示。将光标悬停在历史记录栏中的页面名称上也会将产品/版本显示为工具提示。

搜索和过滤器

可以使用页面顶部的搜索字段搜索 API 文档和指南。

在 API 文档页面上,还有一个过滤器输入字段,用于使用过滤器字符串过滤成员行。除了按字符串过滤外,您还可以按访问级别、继承和只读过滤类成员。这是通过使用页面顶部的复选框完成的。

API 类导航树底部的复选框过滤类列表以包含或排除私有类。

单击空的搜索字段将显示您最近 10 次搜索,以便快速导航。

API 文档类元数据

每个 API 文档页面(Javascript 原始页面除外)都有一个与该类相关的元数据菜单视图。此元数据视图将具有以下一项或多项

展开和折叠示例及类成员

可运行的示例 (Fiddles) 默认在页面上展开。您可以使用代码块左上角的箭头单独折叠和展开示例代码块。您还可以使用页面右上角的切换按钮切换所有示例的折叠状态。切换所有状态将在页面加载之间记住。

类成员默认在页面上折叠。您可以使用成员行左侧的箭头图标或右上角的展开/折叠所有切换按钮全局展开和折叠成员。

桌面与移动视图

在较窄的屏幕或浏览器上查看文档将导致针对较小外形尺寸优化的视图。桌面和“移动”视图之间的主要区别在于

查看类源代码

可以通过单击 API 文档页面顶部的类名来查看类源代码。可以通过单击成员行右侧的“view source”(查看源代码)链接来查看类成员的源代码。

Cmd


顶部

Sencha Cmd 中的工作区

本指南介绍 Sencha Cmd 中的工作区。工作区旨在支持需要共享框架、代码、样式和资源的多个应用程序。

先决条件

建议在继续之前阅读以下指南

什么是工作区?

构建大型应用程序的过程与构建单页应用程序的过程相同。一旦应用程序扩展到需要多个页面,就会出现某些常见问题

  • 使用 Sencha 框架(Ext JS 和/或 Sencha Touch)的公共副本。
  • 使用跨页面的通用代码。
  • 共享或第三方软件包。

为了支持这些,Sencha Cmd 定义了“工作区”的概念。工作区只是一个文件夹,最终包含一个或多个页面、框架、软件包和其他共享代码或文件。应选择工作区根文件夹的位置,以方便这些需求以及您的源代码控制要求。在工作区文件夹的子文件夹中创建的任何生成的应用程序/页面,无论其深度如何,都被认为是工作区的成员。

虽然不是必需的,但通常情况下,工作区文件夹是源代码控制存储库中的根文件夹。

您的页面在工作区内的确切组织结构对于 Sencha Cmd 并不重要。但是,为了简单起见,本指南中的示例将所有页面创建为工作区的直接子文件夹。

术语说明。 术语“application”(应用程序)可能会令人困惑,因为它被重载,并且在不同的组织中适用于不同的规模。对于 Sencha 框架,“application”(应用程序)是指网页。通常,这些应用程序调用 Ext.application() 以在页面加载时启动相应的代码。如果一个项目需要多个页面,通常整个页面集合被称为“application”(应用程序)。为了这些指南的目的,我们将使用 Sencha 框架的理解,即网页是一个应用程序。

生成工作区

要生成工作区,请使用以下命令

sencha generate workspace /path/to/workspace

这将在指定的文件夹中创建以下结构。

workspace.json          # The JSON descriptor for the workspace.
.sencha/                # Sencha-specific files (e.g. configuration)
    workspace/          # Workspace-specific content (see below)
        sencha.cfg      # Configuration file for Sencha Cmd
        plugin.xml      # Plugin for Sencha Cmd

配置

配置类似于应用程序的配置。"app.json" 文件保存单个应用程序的配置,而 "workspace.json" 包含工作区中所有应用程序的配置属性。

框架位置

Sencha Ext JS 或 Sencha Touch(即“SDK”或“framework”)的位置存储为工作区的配置属性。这允许多个页面共享此配置。不同的团队对这些位置以及 Sencha SDK 是否存储在其源代码控制系统中会有不同的偏好。下面讨论的设置使您可以控制 Sencha SDK 在工作区中的位置。

默认情况下,工作区同时具有 Sencha Ext JS 和 Sencha Touch SDK。这些属性在 ".sencha/workspace/sencha.cfg" 中使用以下配置设置

ext.dir=${workspace.dir}/ext
touch.dir=${workspace.dir}/touch

workspace.dir 属性的值由 Sencha Cmd 确定,并根据需要进行扩展。换句话说,默认情况下,工作区包含其保存的应用程序使用的 SDK 副本。

应用程序使用其 "app.json" 文件中的 framework 属性间接引用其框架

"framework": "ext"

生成页面

一旦您有了工作区,生成页面(“应用程序”)可以像以前一样完成,但使用工作区中的“ext”文件夹

cd apps
sencha -sdk ../ext generate app NewExtApp new-app

或者,可以使用 --ext 开关从工作区中选择“ext”框架,而无需担心其路径

cd apps
sencha generate app --ext NewExtApp new-app

由于这些生成的页面的目标是在工作区中,因此将创建以下结构(这与单页应用程序略有不同)

workspace.json              # The JSON descriptor for the workspace
.sencha/                    # Sencha-specific files (e.g. configuration)
    workspace/              # Workspace-specific content (see below)
        sencha.cfg          # Workspace's configuration file for Sencha Cmd
        plugin.xml          # Workspace plugin for Sencha Cmd

ext/                        # A copy of the Ext JS SDK
    ...

touch/                      # A copy of the Sencha Touch SDK
    ...

extApp/
    .sencha/                # Sencha-specific files (e.g. configuration)
        app/                # Application-specific content
            sencha.cfg      # Application's configuration file for Sencha Cmd
    app.json                # The JSON descriptor for the application

touchApp/
    .sencha/                # Sencha-specific files (e.g. configuration)
        app/                # Application-specific content
            sencha.cfg      # Configuration file for Sencha Cmd
    app.json                # The JSON descriptor for the application

build/                      # The folder where build output is placed.
    production/             # Build output for production
        touchApp/
        extApp/
    testing/                # Build output for testing
        touchApp/
        extApp/

要生成更多页面,请重复上述命令。

构建应用程序

构建应用程序的过程与一个或多个应用程序的过程没有区别。将目录更改为应用程序的根文件夹并运行

sencha app build

为了提高效率,您可以为此过程创建一个脚本。

软件包

Sencha Cmd 提供了一个强大的软件包管理子系统,可用于下载软件包并将 JavaScript、样式和资源集成到您的应用程序中。

workspace.json      # The JSON descriptor for the workspace
    packages/       # Container folder for shared Cmd packages
        local/      # Folder for packages generated in this workspace
        remote/     # Folder for packages downloaded into the workspace

通常,"packages/remote" 文件夹将被标记为被源代码控制忽略,因为这些软件包始终可以从软件包存储库中再次下载和提取。

注意: 在以前的版本中,所有软件包都放在 "packages" 文件夹中。这种分离虽然在大多数情况下很有帮助,但可以在 "workspace.json" 中更改。

下一步

建议在继续之前阅读以下指南

Cmd