0

不知道我在这里做错了什么,但让我设置场景。

一开始,store(resultsStore) 被数据填充并通过函数调用显示。

现在,需要通过另一个存储获取更多数据并将这两个集合传递给原始函数的中间步骤。

我已经尝试了下面的许多变体,但是这两个数据集似乎没有传递给 updateLeftPanel 函数,第一个很好,第二个说“未定义”。有什么明显的我失踪了吗?

resultsStore.load({
    params: {
        'certid' : certId
    },
    callback: function(record,operation,success){
        updateRightPanel(record[0].data);  // code not shown,works fine
        //updateLeftPanel(record[0].data);   // original call

        loadCriteriaStore(record[0].data);  // new call


    }
});

function loadCriteriaStore(data)
{
    criteriaStore.load({
        params: {
            'edition' : data['Edition']
        },
        callback: function(record,operation,success,data){
            updateLeftPanel(data,record[0].data);  
            // orig data first, new dataset second
        }


    });

}

 function updateLeftPanel(data, dataa){ 
 // code here
          dataa object still unpopulated
 }
4

1 回答 1

1

loadCriteriaStore函数的回调中,您分配了 4 个参数。我假设它只通过3。

因此,在该回调中data,包含您的数据的 被新的“本地”覆盖data,即undefined.

function loadCriteriaStore(data)
{
    criteriaStore.load({
        params: {
            'edition' : data['Edition']
        },
        // Get rid of the ",data" here
        callback: function(record,operation,success){
            // the `data` param will be the value passed to `loadCriteriaStore`
            updateLeftPanel(data,record[0].data);
            // orig data first, new dataset second
        }


    });

}
于 2013-02-05T16:06:52.257 回答