组件找不到动作

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);
    }
  }
})