Reputation: 1220
I would like to access a global query param in a nested route (child route).
The localisation setting is stored in a Global Query Param on the Application Route:
App.ApplicationController = Ember.Controller.extend({
queryParams: ['localSelected']
});
Now I would like to access that value in my App.IndexRoute
App.TranslateRoute = Ember.Route.extend({
model: function(params){
params.localSelected **NOT AVAILABLE**
}
});
Upvotes: 4
Views: 812
Reputation: 1220
Finally found a solution by setting a global variable every time the query params updates.
In the Application Controller
App.ApplicationController = Ember.Controller.extend({
queryParams: ['localSelected'],
localSelectedOberver: function(){
App.set('localSelected', this.get('localSelected'));
}.observes('localSelected').on('init'),
localSelected: "en"
});
And because the controller initializes to late, you also need:
App.ApplicationRoute = Ember.Route.extend({
model: function(params){
App.set('localSelected', params.localSelected)
}
)}
})
Then whenever you need to know the localisation query param value you can just go:
App.get('localSelected');
Upvotes: 3