我想从路由/new
重定向,并保留new
路由的查询参数:
据我所知,访问queryParams
的唯一地方是在路由的model
钩子内。
但是我想在beforeModel
钩子中重定向:
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);
});
});
}
});
当上面的代码工作时,转换将完成而不保留查询参数。例如,导航到applicants/new?agent=35
将不保留查询参数中的agent=35
,而只是重定向到applicants/new
。
如何从Ember应用中的beforeModel
挂钩访问queryParams
对象?
2条答案
按热度按时间y0u0uwnf1#
您应该能够将查询参数传递给
transitionTo
,沿着所示:fcg9iug32#
在Ember的更新版本中,包含查询参数. Transition的transition object has a to property不再具有
queryParams
属性例如,在
beforeModel
中重定向到index
路由,可能如下所示: