刚刚进入 javascript 和 knockout.js。我找到了一堆我想要完成的例子。而且我觉得我可能会忽略一个小的语法错误。我正在尝试过滤已返回的集合(this.tasks通过 ajax/json 从服务器我的工作正常。我想做的是让用户能够在完整和不完整的任务之间切换。
我将代码切换为仅在 tasksFiltered 上运行 foreach 循环。“this.done”是真或假。
任务模板
var taskModel = function(id, title, description, done){
var self = this;
this.id = ko.observable(id);
this.title = ko.observable(title);
this.description = ko.observable(description);
this.done = ko.observable(done);
this.showEdit = ko.observable(false);
this.titleUpdate = ko.observable(false);
this.descriptionUpdate = ko.observable(false);
};
页面模型
var pageModelTasks = function(){
var self = this;
this.task_title = ko.observable("");
this.task_description = ko.observable("");
this.task_title_focus = ko.observable(true);
this.tasks = ko.observableArray([]);
this.tasksFiltered = ko.computed(function() {
return ko.utils.arrayFilter(this.tasks, function(Task) {
return Task.done == true;
});
});
// CRUD functions excluded
};
这不起作用。