【问题标题】:Ember.js - Nothing handled the actionEmber.js - 没有处理该动作
【发布时间】:2015-05-12 23:46:41
【问题描述】:

我正在关注 Ember.js 上的 Railscats,在尝试执行“addEntry”操作时出现以下错误

未捕获的错误:没有处理“addEntry”操作。如果你做了 处理该动作,此错误可能是由于从 控制器中的动作处理程序,导致动作冒泡。

这是我的代码:

application.handlebars

<div id="container">
    <h1>Raffler</h1>
    {{input type="text" value=newEntryName action="addEntry"}}
    <p>{{newEntryName}}</p>
    <ul>
        {{#each entries}}
            <li>{{name}}</li>
        {{/each}}
    </ul>
</div>

application_controller.js.coffee

Raffler.ApplicationController = Ember.Controller.extend
    entries: []

    addEntry: ->
        @entries.pushObject name: @get('newEntryName')
        @set('newEntryName', '')

【问题讨论】:

  • 尝试使用此行:Raffler.EntriesController = Ember.ArrayController.extend

标签: javascript ruby-on-rails ember.js


【解决方案1】:

在旧版本的 ember.js 中,动作助手使用控制器对象中的任何方法作为动作。但在新版本中,您必须在 actions 哈希中添加任何操作。因此,将您的控制器更新为以下内容:

Raffler.ApplicationController = Ember.Controller.extend
  entries: []
  actions:
    addEntry: ->
      @entries.pushObject name: @get('newEntryName')
      @set('newEntryName', '')

【讨论】:

  • 像魅力一样工作。谢谢。
猜你喜欢
  • 2019-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-28
  • 1970-01-01
  • 1970-01-01
  • 2013-11-07
  • 2014-02-26
相关资源
最近更新 更多