您能详细解释一下.el、getEl()、Ext.get()吗?

2023-11-21

我是 Sencha ExtJs 的新手

我没看懂这行Ext.getCmp('component_id').getEl().hide();。有什么用.getEl()。我可以写吗Ext.getCmp('component_id').hide();直接地?

并向我解释一下 .el,Ext.get() also.


Ext.getCmp() VS Ext.get()

Ext.getCmp()找到一个现有的(已创建的)成分在 ExtJS 组件树中。请注意,它是灰心使用它。依靠组件查询反而。

Ext.get()找到一个DOM元素通过 ID。例如:

<html>
    <body>
        <div id="target">Hello, world!</div>
    </body>
</html>

Ext.get('target')将返回div#targetDOM 元素。

我个人从不使用其中任何一个。相反,我使用 ComponentQuery 查找组件,然后检索它们的 DOM 元素,如下所述。


MyCmp.getEl() VS MyCmp.el

两者都只是检索 MyCmp 组件的顶级 DOM 元素。

当前版本的 ExtJS (4.2.1) 定义了.getEl()函数如下:

MyCmp.getEl = function () {
    return this.el;
}

意思就是MyCmp.getEl() and MyCmp.el are 绝对平等.

Use .el如果您希望代码简洁明了。然而,.getEl()如果将来 ExtJS 向组件的 DOM 元素检索过程添加额外的逻辑(例如,首先检查它是否存在),这可能会很有用。

我更喜欢.el.


MyCmp.hide() VS MyCmp.el.hide()

MyCmp.hide() and MyCmp.el.hide()是两个不同的函数。当前版本的 ExtJS (4.2.1) 定义如下:

MyCmp.hide = function (animateTarget, cb, scope) {
    var me = this,
        continueHide;
    if (me.pendingShow) {
        delete me.pendingShow;
    } if (!(me.rendered && !me.isVisible())) {
        continueHide = (me.fireEvent('beforehide', me) !== false);
        if (me.hierarchicallyHidden || continueHide) {
            me.hidden = true;
            me.getHierarchyState().hidden = true;
            if (me.rendered) {
                me.onHide.apply(me, arguments);
            }
        }
    }
    return me;
}

and

MyCmp.el.hide = function (animate){
    if (typeof animate == 'string'){
        this.setVisible(false, animate);
        return this;
    }
    this.setVisible(false, this.anim(animate));
    return this;
}

然而,这两个函数似乎都会产生相同的结果。他们只是添加一个style="display: none;"到组件的 DOM 元素。

I use MyCmp.hide().

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

您能详细解释一下.el、getEl()、Ext.get()吗? 的相关文章

随机推荐

  • 当我仅使用脚本名称在 Windows 上运行 Python 脚本时无法重定向输出

    它在 Windows 7 64 位 带有 Win32 Python 扩展的 Python 2 6 上运行 我有一个简单的脚本 只打印 hello world 我可以启动它python hello py 在这种情况下 我可以将输出重定向到文件
  • 如何用C语言函数判断一个文件是否是elf文件?

    在我的程序中 我想识别文件是否是ELF 可执行和可链接格式 类型 如何用C语言函数判断一个文件是否是elf文件 If the only你要做的就是测试文件是否是 ELF 然后读取前 16 个字节来检查文件身份 前四个字节等于 0x7f E
  • 为什么我无法使用 LWP::Simple 获取维基百科页面?

    我正在尝试使用获取维基百科页面LWP 简单 但他们不会回来了 这段代码 usr bin perl use strict use LWP Simple print get http en wikipedia org wiki Stack ov
  • Python dict.get() 引发 KeyError

    我在这里迷路了 Python 2 7 我有一本字典mt 我用get 方法 文档中说 get key default 如果 key 位于则返回 key 的值 字典 否则默认 如果没有给出默认值 则默认为 无 因此该方法永远不会引发KeyErr
  • AngularJS:观察高度变化的更好方法

    我遇到了旧的可变高度导航问题 Aposition fixes顶部导航和内容margin top naviHeight以下 当数据异步加载时 导航可以改变高度 因此内容的边距也必须随之改变 我希望这是独立的 因此 没有加载数据的代码 而仅在涉
  • 如果锁定的对象内部发生异常,该对象是否会保持锁定状态?

    在 C 线程应用程序中 如果我要锁定一个对象 比如说队列 如果发生异常 该对象是否会保持锁定状态 这是伪代码 int ii lock MyQueue MyClass LclClass MyClass MyQueue Dequeue try
  • 使用 OpenSSL 读取证书文件时出现 Ruby 错误

    我正在尝试做一个简单的OpenSSL X509 Certificate new File read testuser p12 来自IRB与红宝石 1 8 7 或 1 9 2 两者结果相同 我得到的错误是OpenSSL X509 Certif
  • 使用包含空格的文件名的 GNUMake 最可靠的方法是什么?

    我想使用 GNUMake 运行基于规则的 makefile 该文件在目录结构中 在 Windows 文件系统上 构建一组 C 文件 根目录 部分子目录和部分文件包含空格 示例文件 C Documents and Settings
  • 命名和未命名匿名 Javascript 函数之间的差异

    通常 在 Javascript 中 当我想将匿名 内联函数作为参数传递给另一个函数时 我会执行以下操作之一 someFunctionCall function someFunctionCall gt 然而 我最近继承了一个使用的代码库nam
  • 提示与密码 EditText 右侧对齐

    我正在研究阿拉伯语并开展活动 我希望用户名和密码的提示从右侧开始 并且从左侧开始输入没有问题 但在我的用户界面中 我希望提示位于右侧 但是当我为 EditText 添加 inputType 时 提示会移到左侧 我尝试以编程方式解决它 但它不
  • 从 postgres 中的路径中分离出文件名

    我有一个包含 Windows 文件路径的字段 如下所示 fs1 foo bar snafu txt c this is why i drink snafu txt fs2 bippity baz zip fs3 boppity boo ba
  • Haskell 使用 -O2 进行编译会大大增加内存使用量

    当使用 ghc 不使用任何标志进行编译时 这个简单的程序在恒定内存空间中运行 import Data List f x x x g a foldl f a 1 1073741824 1 main do putStrLn show foldl
  • 在 Android 中使用特定于构建的 aaptOptions(用于排除特定资产文件/文件夹)

    一直在开发 Android Webview 应用程序 我刚刚开始使用其中的 node modules 文件夹 所以很自然地我做了一些关于如何排除它的研究 最终得到了这个问题在这里 尝试了一些答案 最适合我的答案是关于 aaptOptions
  • 推送通知在 iOS 10 上不工作

    安装 iOS 10 的新更新后 推送通知不起作用 而相同的代码实现适用于 iOS 9 iOS 10 的推送通知有什么新功能吗 因为 我无法弄清楚 另外 是否需要在功能下打开推送通知 需要对带有 xCode 8 GM 的 iOS 10 进行一
  • 如何使用 AWS CDK 查找现有 ApiGateway

    我正在使用 AWS CDK 构建我的 lambda 并且我想从 lambda 的 CDK 堆栈注册终端节点 我发现我可以使用 fromRestApiId scope id restApiId 获取现有的 ApiGateway 构造 文档在这
  • 设置自动增量列的起始值

    我有一张桌子Orders包含以下字段 身份证 小计 税务 运输 创建日期 The Id列设置为autoincrement 1 1 这将在电子商务店面中使用 有时 当前的电子商务商店会迁移到我的平台 并且他们已经有订单 这可能意味着他们当前的
  • 清除所有旧的 CMFEditions 版本

    我们有一个巨大的网站 应该为开发副本准备数据库 如何删除所有内容项的所有旧历史版本 通过这种方式 我们可以大大减少传输到开发人员计算机所需的数据大小 克隆人4 0 转到portal purgepolicy 并将数字设置为某个数字 我通常使用
  • 如何将输入的第一个字母大写?

    我目前正在尝试将输入中的第一个字母大写 这是我尝试过的 fieldset input text transform capitalize 但它并没有按照我想要的方式工作 因为每个单词都是大写的 我也尝试过这个 fieldset input
  • 关注 iPhone 上的下一个有效关键视图

    iPhone 是否有同等功能NSResponder方法 selectNextKeyView or nextValidKeyView来自 Mac OS X 我知道关于 becomeFirstResponder方法 但是当视图层次结构变得更加复
  • 您能详细解释一下.el、getEl()、Ext.get()吗?

    我是 Sencha ExtJs 的新手 我没看懂这行Ext getCmp component id getEl hide 有什么用 getEl 我可以写吗Ext getCmp component id hide 直接地 并向我解释一下 el