我在
读到http://emberjs.com/guides/controllers/
以下代码:
我有一个搜索框,想要将搜索框的值发送到SearchController。
App.ApplicationController = Ember.Controller.extend({ // the initial
value of the `search` property search: '',
actions: {
query: function() {
// the current value of the text field
var query = this.get('search');
this.transitionToRoute('search', { query: query });
} } });
如何在SearchController中获取查询参数,然后在search.hbs中显示它?
我正在使用ember- cli。
路由器
import Ember from 'ember';
var Router = Ember.Router.extend({
location: NENV.locationType
});
Router.map(function() {
this.route('search');
});
export default Router;
我在routes / search.js
下设置了一条路线export default Ember.Route.extend({
model : function (params) {
console.debug("hi");
return params;
},
setupController: function(controller,model) {
var query = model.query;
console.debug("query is");
console.debug(query);
}
});
调试时出现错误:
ember传递的上下文对象比动态段
更多
谢谢, 大卫
答案 0 :(得分:1)
您需要将搜索路线定义为动态,因此如果您将路线定义更改为此类
Router.map(function() {
this.resource('search', {path: '/search/:query});
})
这应该像你期望的那样工作。如果有的话,请告诉我。
干杯!