我正在使用Sencha Architect 2来创建应用程序。在编写无法访问数据的事件处理程序时,我遇到了几个不同的问题。
具体来说,我正在尝试编写一个AfterRender函数来以编程方式选择组合框中的第一个项目。组合框是从JSON商店填充的,它可以很好地加载。我无法访问加载的数据,所以我在函数中有以下代码来记录可用的内容:
onComboboxAfterRender: function(abstractcomponent, options) {
// abstractcomponent.value = abstractcomponent.store.data.items[0].date;
console.log(abstractcomponent);
console.log(abstractcomponent.store);
console.log(abstractcomponent.store.data);
console.log(abstractcomponent.store.data.items);
console.log(abstractcomponent.store.data.items[0]);
}
以下是javascript控制台输出:
可以看出,在abstractcomponent.store.data
中,记录了第三项,项目显示为空。然而,如果我钻进,则items是一个包含三个条目的数组。
显然我做的事情从根本上说是错误的。我很欣赏有关如何从After Render处理程序内部访问商店数据的建议,以及是否存在某种基本的ExtJS / JavaScript / JavaScript控制台误解,因为它对我来说没有任何意义。
答案 0 :(得分:0)
这是一个参考。当您将其输出到控制台时,商店尚未填充。
但是,当您使用Chrome / Firebug并展开控制台时,它现在已经存在并将被填写。