I have a route main which has a query param search. I have subroutes main.sub1, main.sub2
Going to /main/sub1?search=hello or /main/sub2?search=hello sets the query param of the main route to hello. This part works fine.
Now I would like to be able to refresh the model of main.sub1 when the query param search in route main changes, so I here is the code of the route main.sub1:
export default Ember.Route.extend({
queryParams: {
search: {
refreshModel: true
}
},
model(params) {
// here I can use params.search to fetch the model for this route
}
}
I thought that since there is no search query param in the controller of main.sub1 Ember would be smart enough to guess it has to use the one from main. But now, when I go to /main/sub1 I have this error message:
Assertion Failed: You're not allowed to have more than one controller property map to the same query param key, but both
main:searchandmain.sub1:searchmap tosearch. You can fix this by mapping one of the controller properties to a different query param key via theasconfig option, e.g.search: { as: 'other-search' }
My guess is that Ember automatically creates a query param search in main.sub1 which conflicts with the one from main, and does not even try to use the one from main.
How could I overcome this problem?
Simply put: how can I use an attribute of a parent route as a query param of a subroute?
Thanks!
Aucun commentaire:
Enregistrer un commentaire