我想從我通過jQuery.getJSON獲取的列表中刪除一個項目。只要尚不穩定,Ember數據並不是一個真正的選擇。Ember.js - 如何從沒有Ember-data的列表中刪除項目?
App.Project = Ember.Object.extend({
remove: function() {
return $.ajax({
url: '/api/v1/projects/'+this.get('id'),
type: 'DELETE'
});
}
});
App.Project.reopenClass({
findAll: function() {
return jQuery.getJSON('/api/v1/projects').then(
function(response) {
var projects = Ember.A();
if (response.projects !== undefined) {
response.projects.forEach(function (project) {
projects.pushObject(App.Project.create(project));
});
}
return projects;
}
);
}
});
App.ProjectsRoute = Ember.Route.extend({
model: function() {
return App.Project.findAll();
},
events: {
deleteProject: function(project) {
project.remove();
}
}
});
當我按下下面的按鈕時,它執行DELETE API調用,但它當然不會從數組中刪除項目。我怎樣才能從數組中刪除該項目?
<button class="btn btn-mini btn-danger" {{action 'deleteProject' this}}><i class="icon-trash"></i> Delete</button>
這的確看起來像我需要什麼,但我怎麼能得到一組的項目?我嘗試了'this.get('model')。removeObject(project)'但模型沒有這個方法。此外'this.get('content')'是* undefined *。 – EsTeGe
看來我需要一個Ember.Set,但是當我將findAll方法轉換爲使用Ember.Set時,我得到一個Object [object Object]沒有方法'addArrayObserver'異常。 – EsTeGe