从索引页面删除记录

时间:2016-04-10 22:09:06

标签: ember.js

我是新手,并试图在2.4中构建一个非常简单的应用程序作为学习练习。我有一个显示在索引页面上的任务列表。我已经附加了每个要删除的操作。并在页面底部有一个表单行,其中包含saveTask的操作。

我有一个索引控制器。 没有定义的索引路由。 app / models / task.js上的任务模型

我的saveTask功能正在运行。但我不能让deleteTask工作。我知道我没有正确传递我想要删除的对象。返回的错误是Uncaught TypeError: undefined is not a function index.js:26 deleteTask

有人可以向我解释正确的语法吗?

 app/templates/index.hbs
{{#each model as |task| }}
    <div class="form-horizontal form-group row">
        <div class="col-xs-4 col-md-3">
            {{input type="text" value=task.taskname class="form-control"}}
        </div>
        <div class="col-xs-3 col-md-2">
            {{input type="text" value=task.startdate class="form-control"}}
        </div>
        <div class="col-xs-3 col-md-2">
            {{input type="text" value=task.enddate class="form-control"}}
        </div>
        <div class="col-xs-3 col-md-2">
            {{input type="text" value=task.duration class="form-control"}}
        </div>
        <div class="col-xs-3 col-md-2">
            {{input type="text" value=task.banding class="form-control"}}
        </div>
        <div class="col-xs-2 col-md-1">
            <button type="button" class="btn btn-default btn-sm" aria-label="Remove task" {{action 'deleteTask' task}}>
              <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
            </button>
        </div>
    </div>
{{/each}}

和控制器

app/controllers/index.js
import Ember from 'ember';

export default Ember.Controller.extend({
    actions: {

        deleteTask(task) {
        this.destroyRecord();
        this.transitionTo('index');
    }
  }
});

1 个答案:

答案 0 :(得分:2)

您在destroyRecord上的deleteTask拨打this而不是task,这实际上就是记录。我认为就是这样。

您应该能够在开发人员工具中看到引发的代码行。我打赌它是this.destroyRecord();