I'm trying to get Store in the view on the init of the applicatoin, however the console tells me: Object #<Object> has no method 'getStore'
I'm wondering how would you get a store in this sequence:
- Initialise app
- Get user GPS location
- Create a store
- Display view with the store
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) { } } });
And then in the view I would like to call something like this, correct me if I'm doing a stupid thing:
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, } ], },
// here is the place where it bugs out
So my understanding when the application loads all files andcompiles
interprets
them and sees that Ext.Store is not initialized, then it loads controllerinit
method and controllerlaunch
method where the store is initialized – Jackie Chan