如何在sencha touch中将控制器的值传递给数据存储
问题描述:
有人能告诉我如何以sencha touch的形式将数据从控制器传递到数据存储。如何在sencha touch中将控制器的值传递给数据存储
视图代码
var select = new Ext.form.Select({
id:'selectCity',
store: parking.stores.city,
displayField: 'Name',
valueField: 'Name',
placeHolder: 'Choose City',
cls:'select'
});
var citySearchButton = new Ext.Button({
cls: 'citySearch',
text: 'Search',
handler: function() {
Ext.dispatch({
controller: parking.controllers.controller,
action: 'showMapBasedOnCity',
id: Ext.getCmp('selectCity').getValue()
});
}
});
从我的观点,我能够值传递给控制器。
showMapBasedOnCity: function (options) {
var city = options.id;
//var data = parking.stores.parkingFacilityByCity.setId(city);
// parking.views.map.addMap(city);
parking.views.viewport.setActiveItem(
parking.views.map, options.animation
);
},
的问题是如何从这里传递价值的数据存储:我需要从控制器(城市值)的参数传递给我的JSONP查询以获得所需结果返回)。
parking.stores.parkingFacilityByCity = new Ext.data.Store({
model: 'PF',
proxy: Ext.util.JSONP.request({
url: 'http://parking.511.org/index/M_GetParkingFacilityByCity',
callbackKey: 'callback',
parmas: { city: },
scope: this,
callback: function (data) {
var list = data.Root;
parking.stores.parkingFacilityByCity.loadData(data.Root);
}
})
});
任何帮助将不胜感激。
感谢, 爬完
答
在我的按钮形式点击我得到的值,并把它传递给调度方法。在调度方法中,我称之为控制器。
var select = new Ext.form.Select({
id:'selectCity',
store: parking.stores.city,
displayField: 'Name',
valueField: 'Name',
placeHolder: 'Choose City',
cls:'select'
});
var citySearchButton = new Ext.Button({
cls: 'citySearch',
text: 'Search',
handler: function() {
Ext.dispatch({
controller: parking.controllers.controller,
action: 'showMapBasedOnCity',
id: Ext.getCmp('selectCity').getValue()
});
}
});
在控制器中,我把这个方法叫做获取停车设施的方法,让城市将新数据存入商店。
showMapBasedOnCity: function (options) {
var city = options.id;
getParkingFacilityByCity(city);
// parking.views.map.addMap();
parking.views.viewport.setActiveItem(
parking.views.map, options.animation
);
Data.js文件
parking.stores.parkingFacilityByCity = new Ext.data.Store({
model: 'PF',
autoload: true
});
var getParkingFacilityByCity = function (cityName) {
Ext.util.JSONP.request({
url: 'http://parking.511.org/index/M_GetParkingFacilityByCity',
callbackKey: 'callback',
params: { city: cityName },
callback: function (data) {
parking.stores.parkingFacilityByCity.loadData(data.Root);
}
});
};
希望这有助于一些之一。也可能有其他方法。但是这对我来说工作得很好。