是否可以在同一商店中以某种方式包含多个rest / json请求?
例如,我有这个返回json对象的api:
{"name":"john"},{"name:"harry"}
{"name":"peter"},{"name:"fred"}
我想将api1和api2的结果合并到一个商店中,以便在单个视图中处理所有连接。结果:
{"name":"john"},{"name:"harry"},{"name":"peter"},{"name:"fred"}
或者可能没有连接,但我可以在一个视图中显示同时调用这两个api: 约翰 掠夺 彼得 fred的
这可能吗?
我尝试这个没有成功:
Ext.application({
name: 'sencha',
views: ['Main1'],
models:['AdModel'],
stores:['AdStore1','AdStore2'],
launch: function () {
var store1Obj = Ext.getStore('AdStore1');
var store2Obj = Ext.getStore('AdStore2');
store1Obj.each(function(record){
var copiedRecord = record.copy();
store2Obj.add(copiedRecord);
});
Ext.create('Ext.DataView', {
fullscreen: true,
store: store2Obj,
itemTpl: '<tpl for="."><div><strong>{name}</strong></div></tpl>'
});
}
});
答案 0 :(得分:0)
首先,您对each
http://docs-origin.sencha.com/touch/2.4/2.4.1-apidocs/#!/api/Ext.data.Store-method-each
store
方法使用了错误的语法
然后在同一个商店中将两个不同的数据源一起添加就很简单。
Ext.application({
name: 'Fiddle',
launch: function() {
// Set up a model to use in our Store
Ext.define("User", {
extend: "Ext.data.Model",
config: {
fields: [{
name: "name",
type: "string"
}]
}
});
// Setup the stores
var myStore1 = Ext.create("Ext.data.Store", {
model: "User",
data: [{
"name": "john"
}, {
"name": "harry"
}],
autoLoad: true
});
var myStore2 = Ext.create("Ext.data.Store", {
model: "User",
data: [{
"name": "peter"
}, {
"name": "fred"
}],
autoLoad: true
});
// Loop through each record of store2 adding it to store1
myStore2.each(function(item, index, length) {
myStore1.add(item);
});
Ext.create("Ext.List", {
fullscreen: true,
store: myStore1,
itemTpl: "{name}"
});
}
});