Ember 带有 queryParams 的 TransitionTo 不工作
Ember TransitionTo with queryParams not working
我是 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-搜索-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: ""
},
到搜索结果路线但没有用。
在 "search-results.js" 中,您需要访问(告诉您的模型)您从 index.js 传递到文件中的参数,因此在搜索-results.js 中,您的模型应该看起来有点像这样:
model(param) {
return {
fieldsInput: []
};
},
如果您查看上面定义 "fieldsInput" 的位置,您将想要进行某种 Ember- 数据查找(如果您不熟悉有了它,然后观看一两个 youtube 视频,它将对以后的发展有很大帮助),以利用您从 index.js 传递的 "queryParam"。
(提示:“return this.store.findRecord(someObject, param.someProperty)
”可能是您想要使用的)
此外,如果您查看“this.transitionTo
”下方的那一行,您的 "queryParams".
拼写错误
希望对您有所帮助。
当您为 transitionTo
方法提供 url 时,您需要通过构造包含 queryParams 来提供完整的 URL。这会起作用
this.transitionTo(`/search-results?q=${query}`);
正如您在评论中提到的,您没有在路由中指定 queryParams 属性。
我是 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-搜索-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: ""
},
到搜索结果路线但没有用。
在 "search-results.js" 中,您需要访问(告诉您的模型)您从 index.js 传递到文件中的参数,因此在搜索-results.js 中,您的模型应该看起来有点像这样:
model(param) {
return {
fieldsInput: []
};
},
如果您查看上面定义 "fieldsInput" 的位置,您将想要进行某种 Ember- 数据查找(如果您不熟悉有了它,然后观看一两个 youtube 视频,它将对以后的发展有很大帮助),以利用您从 index.js 传递的 "queryParam"。
(提示:“return this.store.findRecord(someObject, param.someProperty)
”可能是您想要使用的)
此外,如果您查看“this.transitionTo
”下方的那一行,您的 "queryParams".
希望对您有所帮助。
当您为 transitionTo
方法提供 url 时,您需要通过构造包含 queryParams 来提供完整的 URL。这会起作用
this.transitionTo(`/search-results?q=${query}`);
正如您在评论中提到的,您没有在路由中指定 queryParams 属性。