如何在Ember中查找和删除特定记录

时间:2015-03-26 03:23:19

标签: ember.js

我在Ember完全是新手。我想在todos数组中找到一条记录,然后将其删除。我知道我必须先将参数传递给function才能找到它然后将其删除,但我没有运气。以下是相关文件:

todos.hbs

{{#each todo in model}}
    <li>
      <label>{{#link-to "todos.show" list}}{{todo.title}}{{/link-to}}</label>
      <button type="button" class="destroy" {{action "deleteTodo"}}></button>
    </li>
  {{/each}}

我将deleteTodo动作放入toods routes todos路线

export default Ember.Route.extend({
 model: function() {
return this.store.find('todo');
 },
deleteTodo: function() {
  // Function itself
});

谢谢

1 个答案:

答案 0 :(得分:0)

将deleteTodo方法移动到路径控制器上的操作中,而不是路由上。然后将当前的待办事项传递给控制器​​deleteTodo方法:

<button type="button" class="destroy" {{action "deleteTodo" todo}}></button>

看起来你正在使用ember-cli,所以控制器看起来像

import Ember from 'ember';

export default Ember.Controller.extend({
  actions: {
    deleteTodo: function(todo){
      todo.destroyRecord();
    }
  }
});