Ember.js - 没有处理动作

时间:2015-05-12 23:46:42

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

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

  

未捕获错误:没有处理动作'addEntry'。如果你这样做了   处理动作,这个错误可以通过从一个返回true来引起   控制器中的动作处理程序,导致动作冒泡。

这是我的代码:

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', '')

1 个答案:

答案 0 :(得分:4)

在旧版本的ember.js中,动作助手使用控制器对象中的任何方法作为动作。但是在新版本中,您必须在Raffler.ApplicationController = Ember.Controller.extend entries: [] actions: addEntry: -> @entries.pushObject name: @get('newEntryName') @set('newEntryName', '') 哈希中添加任何操作。因此,请将控制器更新为以下内容:

NSTimeInterval