首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Extjs成功被调用两次,因此更改事件也被绑定两次

问Extjs成功被调用两次,因此更改事件也被绑定两次
EN

Stack Overflow用户
提问于 2011-05-17 22:52:52
回答 1查看 2.4K关注 0票数 1
代码语言:javascript
复制
Ext.define('js.custom.filterbar',{
    extend: 'Ext.Component',
    alias: 'widget.FilterBar',
    onRender: function(){
        alert("in onrender filterbar");
        var me =this;
        me.callParent(arguments);
        me.el.load({
            url: '/TRIFOLD/jsp/filterBar.jsp',
            failure: function (response) {
                alert("fail");
            },
            success: function(response){
                Ext.Function.defer(me.addStoreListeners, 50);
            }
            });
         },
        addStoreListeners : function(){
            Ext.get('store').on({
                change: function(){
                    alert("change");
                    var floorplanObj = Ext.create('js.custom.floorplan');
                    floorplanObj.getRequestParameters();
                }
            });
        }
    });

在上面的代码中,el.load的成功触发了两次,因此我的侦听器也绑定了两次。因此,一旦组合框发生变化,警报("change")就会出现两次。请告诉我哪里做错了。

EN

回答 1

Stack Overflow用户

发布于 2012-04-26 04:17:50

我也遇到了同样的问题--虽然我没有可以应用于Ext类的补丁类型的解决方案,但我有一个适用于我的(hacky)解决方案(ExtJS 4.0.7,顺便说一下)

代码语言:javascript
复制
Ext.get('someEl').load({
    url: '/some/content.php',
    success: function (resultOrEvent){
        if(resultOrEvent.hasOwnProperty('request'))
        {
           // Do your post-load stuff here
        }
    }
});

我不知道为什么它会触发两次,但它已经很烦人了。我在控制台中看到的'resultOrEvent‘只是--第一次得到预期的请求对象,第二次得到Ext.ElementLoader类型的对象

我正在寻找解决这个问题的方法(如果有问题),如果我找到了,我一定会回复的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6032716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档