私はデュランダルを初めて使用し、ビューモデル内で ko.computed メソッドを適用することにあまり成功していません。誰かが正しい構文またはパターンを教えてもらえますか?
プロジェクト全体はhttps://github.com/robksawyer/durandal-todo/blob/master/views/todos.htmlで確認できます。
適用する各計算は、バインド中に次のエラーを受け取ります。
Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.")
ビューモデルとビューをリクエストするcomposeメソッド:
<!--ko compose: {
model: router.activeItem, //wiring the router
afterCompose: router.afterCompose, //wiring the router
cacheViews: false, //telling composition to keep views in the dom, and reuse them (only a good idea with singleton view models)
transition: 'fadein'
}--><!--/ko-->
ビューモデル:
// count of all completed todos
var completedCount = ko.computed(function () {
return ko.utils.arrayFilter(todos(), function (todo) {
return todo.completed();
}).length;
});
ビュー https://github.com/robksawyer/durandal-todo/blob/master/views/todos.html
エラーのスクリーンショット