"Application Actions" 在 Ember 2.1

"Application Actions" in Ember 2.1

我正在尝试为我的用户创建一个模式来登录,所以我有这个 link:

<li><a {{action "signin"}}>Sign In</a></li>

{{planhw-navbar}} 组件中。

{{planhw-navbar signin=(action "showModal" name="signin-modal")}}

但是当我打开浏览器时,出现错误:

An action named 'showModal' was not found in (generated application controller)

我试过在控制器、路由和组件中放置一个动作:

import Ember from 'ember';

export default Ember.Component.extend({
  actions: {
    showModal: function(name) {
      this.render(name, {
        into: 'application',
        outlet: 'modal'
      });
    }, //...
  }
})

我的组件 {{signin-modal}} 工作正常。

我的整个application.hbs:

{{planhw-navbar signin=(action "showModal" name="signin-modal")}}
{{outlet}}
{{outlet 'modal'}}

您需要在 application.js 控制器中添加一个名为 showModal 的操作。