lundi 1 février 2016

Refresh model with new params

I have a model that calls a query on my store. When something happens that causes the desired model to be a different query, I need to reload the data on the active route by firing the same query just with different param values.

To illustrate, when I come to my items route it fires a query that looks like this

return this.store.query('item',{auction_id: this.get('localStorage.user.user_active_auction'),user_id:this.get('localStorage.user.user_id')}).then((result)=>{
        if(result){
        return result;
        } else {
            this.get('notification').notify({message: "An error occurred trying to get items.",success:false});
            this.transitionTo('index');
        }
    });

The localStorage pieces are from a service. When the .user property of the service changes, I need to reload this query with the new .user_active_auction and .user_id values so new data gets placed in the template. (and thusly replaced what was there)

Can't seem to find how to do this as the .refresh() method reloads the cached url it used before rather than creating a new one. Not sure if maybe there is an adapter/serializer method I can implement that will allow me to tell it not to use the cached one?




Aucun commentaire:

Enregistrer un commentaire