ExtJs5 - 覆盖ext-all-debug.js中定义的本机方法

 陈宗翰彦泉怡孜 发布于 2022-12-13 17:28

假设我想在文件ext-all-debug.js中覆盖 Sencha提供的本机代码中的函数.

该函数在Ext.util.Renderable -class中定义,名称为cacheRefEls.

压倒一切应该发生内部index.html的项目,使其更容易维持将来的版本.


已经尝试过在这个线程中提出的覆盖解决方案:

重写Sencha ExtJS标准组件功能的步骤(Ext.tree.Panel和Ext.data.TreeStore作为两个示例)


我的index.html看起来如下:


...

...

不幸的是,通过Firefox-33访问localhost:8080后,从Firebug-2-Console-log可以看到它仍然使用该功能的本机版本.

我在这里失踪了什么?

1 个回答
  • 在ExtJS 5中,您需要将这些方法移动到privates配置中.

    你应该看到错误:

    公共方法"cacheRefEls"与Ext.util.Renderable声明的私有框架方法冲突

    您仍然可以覆盖私有方法.在您的情况下,解决方案将是:

    Ext.define('Myapp.view.Renderable', {
        override: 'Ext.util.Renderable',
        privates: {
           cacheRefEls: function(el) {
              console.log("in overider method");
             //my adapted version of it
           }
        }   
    });
    

    2022-12-13 17:31 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有