我是新手,并试图在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');
}
}
});
答案 0 :(得分:2)
您在destroyRecord
上的deleteTask
拨打this
而不是task
,这实际上就是记录。我认为就是这样。
您应该能够在开发人员工具中看到引发的代码行。我打赌它是this.destroyRecord();
。