我正试图在应用程序的init视图中获取Store,但是控制台告诉我:Object #<Object> has no method 'getStore'
我想知道你将如何按照这个顺序获得商店:
init: function () { this.callParent(); console.log("controller init"); }, launch: function () { this.getApplicationSettings(); this.getApplicationRegionalisation(); Ext.getStore("appSettings").setValue("region", "Melbourne"); var store = Ext.create("APN.store.Locations"); var geo = Ext.create('Ext.util.Geolocation', { autoUpdate: false, listeners: { locationupdate: function(geo) { var location = store.getClosestLocation(geo.getLatitude(), geo.getLongitude()); Ext.getStore("appSettings").setValue("region", location.get("location")); }, locationerror: function(geo, bTimeout, bPermissionDenied, bLocationUnavailable, message) { } } });
然后在视图中我想打电话给这样的话,如果我做了一件蠢事,请纠正我:
requires: [ 'APN.store.AppSettings' ], ..... omitted stuff // in items: items: [ { itemId: 'nav_home', id: 'homeView', group: '', title: "Home", layout: 'vbox', slideButton: { selector: 'toolbar' }, settingsButton: { selector: 'toolbar' }, items: [{ xtype: 'articlelist', id: 'latestNews', category: 'Latest', feedUrlName: // here is the place where it bugs out! Ext.getStore("appSettings").getValue(Ext.getStore("appSettings").getValue("region").get("menuItems").home.url, } ], },
答案 0 :(得分:1)
无论您在何处创建视图,都可以在此之前创建存储,并将存储显式设置为视图,以便在执行initialize函数时它将获得this.config.store
。要在应用初始化时获取GPS位置,您可以在创建商店和视图之前获取Ext.application
的启动功能中的位置。如果要仅在加载存储数据后创建视图,则应在存储的加载回调中创建视图。
我希望这就是您所寻找的,如果没有,请在您的问题中添加一些代码,以便我们对具体内容进行评论。