【发布时间】:2013-12-13 13:50:02
【问题描述】:
我正在尝试创建一个商店并在内部访问另一个商店的数据以构建代理 url。
类似这样的:
Ext.define('MyApp.store.Post',{
extend:'Ext.data.Store',
config: {
model: 'MyApp.model.Post',
proxy: {
type: 'ajax',
url: 'http://mywebsite.com/get?userid=' + Ext.getStore('UserData').getAt(0).data.userid,
reader: {
type: 'json'
}
}
}
});
所以,我基本上是在尝试从另一家商店获取用户 ID,以便能够构建正确的 url。 这不起作用,我明白了:
Uncaught TypeError: Object #<Object> has no method 'getStore'
这样做的正确方法是什么?
编辑:好的,我输入了一个虚拟 URL 并尝试使用侦听器更改它,现在这是我的商店:
Ext.define('MyApp.store.Post',{ extend:'Ext.data.Store',
config: {
fields: [
'title', 'link', 'author', 'contentSnippet', 'content'
],
proxy: {
type: 'jsonp',
url: 'https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=http://feeds.feedburner.com/SenchaBlog',
reader: {
type: 'json',
rootProperty: 'responseData.feed.entries'
}
},
listeners: [
{
beforeload: function(){
console.log("store loaded"); //I DON'T SEE THIS IN CONSOLE
return true;
}
}
]
},
});
【问题讨论】:
标签: extjs model-view-controller sencha-touch-2