ノックアウトを学び、私が作成した観測可能な配列に対してページングが機能しない理由を理解しようとしています。ノックアウトJsで計算された配列でページングが機能しない
このコードはもともと観測可能な配列を使用していましたが、計算された連鎖によってページングとスローされた検索が少し簡単になりました。
http://jsfiddle.net/yustas2/sjLeospx/16/
self.PageSize = 3;
self.CurrentPage = ko.observable(0);
self.PageData = ko.computed(function() {
//alert('current page*size' + self.CurrentPage() * self.PageSize + ' ' + self.PageSize);
//alert(ko.toJSON(self.Products.slice(self.CurrentPage()*self.PageSize, self.PageSize)));
return self.Products.slice(self.CurrentPage() * self.PageSize, self.PageSize);
}, self);
self.PageCount = ko.computed(function() {
return Math.ceil(self.Products().length/self.PageSize);
}, self);
self.Pages = ko.computed(function() {
return new Array(self.PageCount());
}, self);
self.GoToPage = function(data) {
self.CurrentPage(data());
};
私はここに貼り付ける必要がありますどのくらいのコードがわからないが、それはすべてjsfiddleです。
基本的に、データがロードされ、最初のページが正常に表示されていることがわかります。ページを切り替えると、最初のページに戻るまで元の配列のスライシングが機能しません。
私は、currentpageを観測可能にすることで、計算されたチェーンは変化しますが、それに沿ってプッシュしないという疑いがあります。
ありがとうございます。
[スライス](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice)関数は、開始インデックス、終了インデックス、開始インデックス、長さです。 –
ああ、男!ありがとうございました。私は計算にリファクタリングしていたときにこれを逃してしまったに違いない。 – KonB
ようこそ!それはたぶん私たち全員を1〜2回捉えたでしょう。 –