私はこの小さなViewModelを持っています:
function BooksViewModel() {
var self = this;
self.books = ko.observableArray(library);
self.findByLanguage = function(lang) {
self.books = ko.computed(function() {
return ko.utils.arrayFilter(library, function(book) {
return book.language() === lang;
});
});
};
}
findByLanguage メソッドは、配列を言語でフィルタリングします。ビューでは、次のように実装しようとしています:
<ul class="dropdown-menu">
<li><a tabindex="-1" href="#" data-bind="click: findByLanguage('C')">C</a></li>
<li><a tabindex="-1" href="#" data-bind="click: findByLanguage('Cpp')">C++</a></li>
</ul>
そこから言語パラメーターを呼び出して、関数を再利用しようとしています。しかし、データバインドで括弧付きの関数を渡すと、自動的に呼び出されます。
どうすればこれを達成できますか?