2015-07-10 12 views
10

Chcę przekierować z trasy, /new i zachować params zapytań na trasie new:EmberJS: Jak przekierować od trasy, utrzymując Query Params

O ile mi wiadomo, to jedyne miejsce, aby uzyskać dostęp queryParams znajduje się w haku model trasy.

Ale chcę przekierować w beforeModel hook:

import Ember from "ember"; 

export default Ember.Route.extend({ 
    /** 
    * @@override 
    * Implicitly create a new applicant, redirecting to the generated ID at /applications/#{id} 
    * @param transition 
    */ 
    beforeModel: function(transition) { 
     var emptyApplicant = this.store.createRecord("applicant", 
       {isPrimary: true} 
      ), 
      emptyApplication = this.store.createRecord("application"); 
     emptyApplication.set("applicant", emptyApplicant); 
     emptyApplicant.save().then((savedApplicant) => { 
      emptyApplication.save().then((savedApplication) => { 
       this.transitionTo("applications", savedApplication); 
      }); 
     }); 
    } 
}); 

Chociaż powyższy kod działa, przejście zakończy bez zachowania params zapytania. Na przykład nawigacja do applicants/new?agent=35 nie zachowa agent=35 w parametrze zapytania i po prostu przekieruje do applicants/new.

Jak uzyskać dostęp do obiektu queryParams z haka beforeModel w mojej aplikacji Ember?

Odpowiedz

9

Powinieneś być w stanie przejść query parameters do transitionTo, coś wzdłuż linii:

this.transitionTo("applications", savedApplication, { 
    queryParams: transition.queryParams 
}); 
Powiązane problemy