我在这里使用教程:http://docs.sencha.com/architect/3/tutorials/first_mobile_application.html#The_Controller
getBusinesses: function(location, callback) {
// Note: Obtain a Yelp API key by registering (for free)
// with Yelp at http://www.yelp.com/developers/getting_started/api_overview
// (in this app, we use the Review Search API v1.0)
var store = Ext.data.StoreManager.lookup('BusinessStore'),
yelpKey = '', // Enter your Yelp API key here
url = 'http://api.yelp.com/business_review_search' +
'?ywsid=' + yelpKey +
'&term=Bars' +
'&lat=' + location.coords.latitude +
'&long=' + location.coords.longitude;
store.getProxy().setUrl(url);
store.load(function() {
callback(store);
});
}
我在Yelp上申请了一个API密钥并获得了以下内容:
我不确定使用哪一个。教程代码具有一个单独密钥的占位符,如上面的代码所示
已完成的应用显示错误:未捕获的TypeError:无法读取未定义的属性“setStore”:
me.getBusinesses(location, function (store) {
// Bind data to the list and display it
me.getDataList().setStore(store);
答案 0 :(得分:0)
getDataList()
返回undefined,因为查看不存在。您可能忘记在 ListContainer 中命名列表视图,请参阅“列表视图 - 步骤4”。此外,函数名称是从*“控制器 - 步骤7”中设置引用的任何内容派生而来的。将其datalist
命名将生成函数getDatalist()
,而将其命名为dataList
将使其成为getDataList()
。注意大写“L”。希望这有助于其他人遇到问题。