javascriptとknockout.jsに入ったところです。私が達成しようとしていることの例をたくさん見つけました。そして、見落としているかもしれない小さな構文エラーがあるように感じます。サーバーから ajax/json 経由で既に返されたセット ( this.tasks )をフィルター処理しようとしています。私はそれがうまく機能しています。私がやりたいことは、ユーザーが完了したタスクと未完了のタスクを切り替えることができるようにすることです。
tasksFiltered で foreach ループを実行するようにコードを切り替えました。「this.done」は true または false のいずれかです。
タスク テンプレート
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
};
これは機能しません。