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

How to find and delete a specific record in Ember

我完全是 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 中。
待办事项路线 :

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

谢谢

将 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();
    }
  }
});