Просто входите в javascript и knockout.js. Я нашел несколько примеров того, что я пытаюсь выполнить. И я чувствую, что есть небольшая синтаксическая ошибка, которую я могу игнорировать. Я пытаюсь отфильтровать уже возвращенный набор (this.tasks) с сервера через ajax/json. У меня это нормально работает. Я бы хотел, чтобы пользователи могли переключаться между полными и неполными задачами.Синтаксис фильтра нокаута. Js Array
Я переключил код, чтобы просто запустить цикл foreach на tasksFiltered. «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);
};
Page Модель
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
};
это не работает.
Рад помочь :) –
Вам не хватает «этого» аргумента в вычисляемый или используйте «self.tasks()» вместо «this .задания()" –