2016-05-15 87 views
-1

我正嘗試使用knockouts.js加載初始數據(來自本地JSON字符串),以便在加載頁面後立即在UI中顯示它。 我嘗試了很多選項,但都失敗或產生錯誤。從服務器加載JSON數據到knockout.js可觀察到

我最新的嘗試是http://jsfiddle.net/z22m1798/17/(在「購物車」的實例庫),它產生錯誤:
TypeError: cartLine.filterValue is not a function

相關的代碼是:

//Load initial data from server 
var JSONdataFromServer = $("#JSONdataFromServer").val(); 
console.log(JSONdataFromServer); 
var dataFromServer = ko.utils.parseJson(JSONdataFromServer); 
self.lines.push(new CartLine(dataFromServer)); 

有人也許知道我究竟錯在這裏做什麼? 這看起來像一個困難的問題。
感謝

回答

0

我發現的方式來解決這個問題(不要相信這是最準確的方法)由服務器整個 JSON接收這樣的第一單元將包含我想要顯示的過濾器。另外,服務器將發送一個參數「filtersToDisplay」,表示需要顯示多少個過濾器。

默認情況下,filtersToDisplay = 1僅顯示第一行。

http://jsfiddle.net/z22m1798/25/

for (i = 0; i < $("#filtersToDisplay").val(); i++) { 
    self.lines.push(new CartLine(self.lines))// Put one line in by default 
} 

感謝