我是 ember 的新手,我正在尝试将 transitionTo 与 queryParams 一起使用,但我无法让它工作我尝试了很多解决方案,但我无法找出我的代码有什么问题。这是我要在两者之间转换的两条路线的代码:
1- index.js:
export default Ember.Route.extend({
setupController: function(controller, model) {
this._super(controller, model);
controller.set("model", model);
},
model() {
return {
searchQuery: ""
};
},
actions: {
search() {
const query = this.controller.get("model.searchQuery");
this.transitionTo("/search-results", {
queryParams: {
q: query
}
});
}
}
});
2-search-results.js:
export default Ember.Route.extend({
model() {
return {
fieldsInput: []
};
},
setupController: function(controller, model) {
this._super(controller, model);
controller.set("model", model);
}
});
不知道还有什么要补充的。我尝试在 Controller 上设置 queryParams 但它也不起作用。另外,我尝试添加
queryParams: {
q: ""
},
到搜索结果路线但没有用。
最佳答案
当您为 transitionTo
方法提供 url 时,您需要通过构造包含 queryParams 来提供完整的 URL。这会起作用
this.transitionTo(`/search-results?q=${query}`);
正如您在评论中提到的,您没有在路由中指定 queryParams 属性。
关于javascript - 带有 queryParams 的 Ember TransitionTo 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47491061/