我在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
});
谢谢
答案 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();
}
}
});