这是我的router.js代码。
this.route('contact',{'path': '/contact/:chat_id'});
这是我的route.js代码。
model(params) {
return this.store.findRecord("chat", params.chat_id)
},
这是我的controller.js代码,我可以像这样使用。它将错误显示为空值 请帮我。如何在控制器中使用params
recordChat: function() {
var chat = this.get(params.chat_id)
Ember.RSVP.hash({
offer_id: chat,
})
}
答案 0 :(得分:6)
我认为最简单的答案是在路由中创建变量然后在setupController中设置它:
<强> your_route.js 强>
export default Ember.Route.extend({
model(params) {
this.set('myParam',params.my_Params);
// Do Model Stuff...
},
setupController(controller, model) {
// Call _super for default behavior
this._super(controller, model);
// Implement your custom setup after
controller.set('myParam', this.get('myParam'));
}
});
答案 1 :(得分:2)
在你的route.js中,你需要像这样调用setupController函数:
select max(order_date) from orders
现在您可以通过调用以下方式在控制器中访问它:
setupController(controller, model) {
this._super(...arguments);
controller.set('chat', model);
}
<强>更新强>
请参阅此处twiddle
答案 2 :(得分:0)
我认为你可以从模型中获取你想要的id,因为你使用参数chat_id来查找记录,而id现在是聊天对象的一部分(这是路由模型本身)。
所以,在你的控制器中你只需要这样做:this.get('model')。id