[ExtJS] viewcha 缓存实例

本文介绍了在ExtJS开发中如何利用静态类进行视图缓存,以提高性能并避免内存泄漏。通过继承ViewCache类创建公共帮助类,使用自定义key存储和检索控件实例。同时讨论了遇到的session错误问题,原因是未正确销毁缓存的实例,解决方案是在自定义的destroy方法中调用me.callParent(arguments)确保销毁流程完整。
摘要由CSDN通过智能技术生成

在使用Extjs 开发时,可以用一静态类,将某些实例控件缓存下来:

一个静态类(公有帮助类),通过继承ViewCache类 ,来缓存实例

Ext.define('TD.util.Helper', {
    alternateClassName: 'TDHelper',//自定义静态类名
    mixins: ['ViewCache'], // 管理/缓存 界面实例

    singleton: true,

    /**
     * 获取页面
     * @param {*} key
     * @param {*} xtypeName
     */
    getView(key, xtypeName) {
        const me = this;
        let view = me.getFromViewCache(key);//通过一个key 值缓存独特实例
        if (!view) {
            view = Ext.create({
                xtype: xtypeName
            });
            me.addToViewCache(key, view);//加到实例中
        }

        return view;
    },
});

 一个实例控件:

Ext.define('TD.view.DemoWin', {
    extend: 'Ext.Dialog',
    xtype:'td_demowin',
    referenceHolder: true,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

29号同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值