As a learning exercise, I have a todo list with to do items. In my view, I would like to display the items grouped by completion. Below is my viewmodel. How would I go about doing what I want to achieve, how do I setup the computed observables?
function TodoList(name, items) {
this.name = ko.observable(name === "undefined"? "": name);
this.todoItems = ko.observableArray(typeof (items) !== "undefined" ? items : []);
}
function TodoItem(name,completed) {
this.name = ko.observable(name === "undefined" ? "" : name);
this.completed = ko.observable(completed === "undefined" ? false : completed);
}
function TodoListViewModel() {
var self = this;
self.todoLists = ko.observableArray([
new TodoList("Groceries", [
new TodoItem("Milk", true),
new TodoItem("Bread",false),
new TodoItem("Tissues",false)
]),
new TodoList("Luggage", [
new TodoItem("Hairdryer", false),
new TodoItem("Toothbrush",false)
]),
]);
}