Sencha touch sencha touch store从json加载数据,但访问视图时,store项为空
我对sencha touch数据存储有一些问题。我正在将数据从jsonp加载到存储区。数据已正确存储。但当我使用存储值立即访问视图时,对象为空 我不知道为什么 数据存储:Sencha touch sencha touch store从json加载数据,但访问视图时,store项为空,sencha-touch,extjs,Sencha Touch,Extjs,我对sencha touch数据存储有一些问题。我正在将数据从jsonp加载到存储区。数据已正确存储。但当我使用存储值立即访问视图时,对象为空 我不知道为什么 数据存储: parking.stores.ParkingFacility = new Ext.data.Store({ model: 'PF', autoLoad: true }); var GetData = function (lat, long) { Ext.util.JSONP.request({
parking.stores.ParkingFacility = new Ext.data.Store({
model: 'PF',
autoLoad: true
});
var GetData = function (lat, long) {
Ext.util.JSONP.request({
url: 'http://stg-parking.511.org/index/M_GetParkingFacilitiesByLatLng',
callbackKey: 'callback',
params: { latitude: lat, longitude: long },
callback: function (data) {
var result = data.Root;
parking.stores.ParkingFacility.loadData(data.Root);
parking.stores.ParkingFacility.save();
}
});
};
GetData函数用json值填充存储
视图:
侦听器中的pdata值为空
任何帮助都将不胜感激
问候,,
Pawan在渲染视图之前,您似乎不会加载数据。由于Javascript的异步特性,视图不反映存储中的数据也就不足为奇了
我将研究处理异步情况的方法。例如,让组件侦听store的datachanged事件,并相应地重新启动自身,或者在控制器中执行此操作。感谢danmarner的帮助。你能给我看一个让组件监听store的datachanged事件并相应地重新启动的代码片段吗。我对sencha touch完全陌生。我已将控制器更新为类似此存储的内容。在“dataChanged”上,函数{parking.views.viewport.setActiveItem parking.views.map,options.animation;};从未调用视图渲染方法。你能告诉我有什么问题吗。是否需要删除并添加组件才能正确渲染,或者如何强制调用render方法。事件名称都是小写的。Aka datachanged而不是datachanged
parking.views.mapComponent = Ext.extend(Ext.Panel, {
title: 'Map',
mapOptions: {
center: new google.maps.LatLng(37.381592, -122.135672),
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP,
navigationControl: true,
navigationControlOptions: {
style: google.maps.NavigationControlStyle.DEFAULT
}
},
listeners: {
render: function (comp, map) {
var pdata = parking.stores.ParkingFacility;
}
}
});