我是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);
}
});
我不知道是否应该添加其他任何内容。我尝试在控制器上设置queryParams,但它也不起作用。另外,我尝试添加
queryParams: {
q: ""
},
到搜索结果的路线,但没有用。
最佳答案
当为transitionTo
方法提供url时,您需要通过构造包括queryParams来提供完整的URL。这会起作用
this.transitionTo(`/search-results?q=${query}`);
正如您在评论中提到的那样,您缺少在route中指定queryParams属性。
关于javascript - Ember TransitionTo与queryParams不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47491061/