2014-01-08 62 views
0

這是earlier question的後續操作。 requestData.settings.pageNumber如何根據可觀察結果創建陣列

我想創建使用敲除如以下代碼尋呼機:

<ul class="pagination"> 

    <!-- ko foreach: Paging() --> 
     <li data-bind="click: function() { $root.changePage($data) }" class="active"> 
      <a href="#" data-bind="text: $data"></a> 
     </li> 
    <!-- /ko --> 

</ul> 

尋呼是

我已經1個可觀察特性(PAGENUMBER)從構成像這樣的JSON對象映射現在我的代碼中的數組不會更新。請幫我看看我在這裏做錯了什麼。

+0

假設尋呼採取是observableArray:你有沒有試圖刪除()在你的foreach? <! - ko foreach:Paging - > – aaberg

+0

我爲什麼要那樣做?我想實現的東西(僞):array = new range(page-5,page + 5); 如果pagenumber observable改變....數組應該改變。 –

+0

請在問題中包含您的相關ViewModel邏輯,嘗試製作一個[repro](http://sscce.org)(甚至可以在工作[小提琴](http:// jsfiddle)中包含相同的代碼。淨))。這會讓你的問題更清晰,並且使我們更容易幫助你。 – Jeroen

回答

0

您可以嘗試使用一個計算,如:

var ViewModel = function() { 
    this.currentPage = ko.observable(6); 

    this.paging = ko.computed(function() { 
     var currentPage = this.currentPage(); 

     return range(currentPage-5, currentPage+5,1); 
    }, this); 
}; 

fiddle有沒有更多的

range代碼是從這個answer