组件找不到动作
component cannot find action
我有一个包含文本字段的组件,如下所示
<div>
{{input type='text' insert-newline='postMessage' class="form-control" autofocus="true"}}
<input type="hidden" name="uid" value={{room.uid}}/>
</div>
具有此代码段的组件位于名为 room
的路由中
export default Ember.Route.extend({
model(params){
this.store.findRecord('room', params.uid);
}
});
为了处理 input
中的操作,我为房间创建了一个控制器:
app/controllers/room.js
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
postMessage(params){
console.log(params);
}
}
});
但是当我按下回车键时,出现了这个错误:
Uncaught Error: <chathub-ember@component:chat-room::ember1071> had no action handler for: postMessage
我也试过把这个动作放到路由里,没成功
在 room.hbs 文件中,
{{my-component myAction='postMessage'}}
然后在my-component.js
import Ember from 'ember';
export default Ember.Component.extend({
actions: {
postMessage(params) {
this.sendAction('myAction', params);
}
}
})
我有一个包含文本字段的组件,如下所示
<div>
{{input type='text' insert-newline='postMessage' class="form-control" autofocus="true"}}
<input type="hidden" name="uid" value={{room.uid}}/>
</div>
具有此代码段的组件位于名为 room
export default Ember.Route.extend({
model(params){
this.store.findRecord('room', params.uid);
}
});
为了处理 input
中的操作,我为房间创建了一个控制器:
app/controllers/room.js
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
postMessage(params){
console.log(params);
}
}
});
但是当我按下回车键时,出现了这个错误:
Uncaught Error: <chathub-ember@component:chat-room::ember1071> had no action handler for: postMessage
我也试过把这个动作放到路由里,没成功
在 room.hbs 文件中,
{{my-component myAction='postMessage'}}
然后在my-component.js
import Ember from 'ember';
export default Ember.Component.extend({
actions: {
postMessage(params) {
this.sendAction('myAction', params);
}
}
})