私はノックアウトが初めてです。シナリオを試していますが、機能させることができません。助けてください。MVC4を使用しています。
function ViewModel(data) {
var self = this;
this.Collection = ko.observable(data);
self.GetFilteredCollection = ko.computed(function () {
var filteredCollection = ko.utils.arrayFilter(self.Collection(), function (item) {
return item.IsSelected == true;
});
return filteredCollection;
});
self.FilteredCollectionCount = ko.computed(function () {
return self.GetFilteredCollection().length;
});
});
var collectionList = eval('<%= new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Model.Collection) %>');
var VM = new ViewModel(collectionList);
ko.applyBindings(VM);
IsSelected
プロパティをチェックボックスにバインドしました。最初は、IsSelected
プロパティは false に設定されます。
<span id="Span1" data-bind="text:$root.FilteredCollectionCount"></span>
チェックボックスを選択しても、常にスパン値が 0 になります。しかし、PropertyIsSelected
が true に変更されていることがわかりました。