【问题标题】:Extjs issues with Store商店的 Extjs 问题
【发布时间】:2012-10-18 20:26:27
【问题描述】:

我有一个 Ext.Data.Store。而且我有一个函数,需要在加载商店时调用一次。只有一次。 起初我是这样做的:

function invokeMe() {
alert("!");
}

actionTemplateStore.on('load', function () {
    invokeMe();
}

但这个解决方案存在一个问题: 我真的需要一次调用“invokeMe”-function

【问题讨论】:

    标签: javascript extjs load


    【解决方案1】:
    actionTemplateStore.on('load', function () {
        if (!actionTemplateStore.actionInvoked) {
            invokeMe();
            actionTemplateStore.actionInvoked = true;
        }
    }
    

    更新:正如 Lloyd 所说,您也可以使用 {single:true} 选项。

    actionTemplateStore.on('load', yourFunction, {single:true});
    

    【讨论】:

    • 您在不需要时添加属性和条件逻辑。事件侦听器支持单次执行配置,如下所述。
    【解决方案2】:

    试试这个:

    function invokeMe() {
    alert("!");
    }
    
    actionTemplateStore.on('load',function () {
        invokeMe();
    },this,{single: true});
    

    我们传入this 作为作用域和一个带有single: true 的配置对象,这使得它只执行一次。

    你也可以这样做:

    var onLoad = function(store) {
        alert('!');
        store.un('load',onLoad);
    }
    
    actionTemplateStore.on('load',onLoad);
    

    【讨论】:

      猜你喜欢
      • 2013-03-17
      • 1970-01-01
      • 2021-05-04
      • 1970-01-01
      • 2012-10-01
      • 2014-03-11
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      相关资源
      最近更新 更多