2016-11-12 80 views
0

我正在嘗試瞭解Knockout。 在我的小項目中,我想輸入名字,姓氏,並將其添加到「人物」對象數組中,然後使用foreach在列表中顯示列表。將對象添加到數組,然後在表中顯示

https://jsfiddle.net/2pf07vdh/

我是新來的提琴手過,所以不要以爲淘汰賽加載中(小複選框應該隱藏和顯示的東西,但它不是),但與此,在我的編輯,我得到一個錯誤:

knockout-3.4.1.js:72 Uncaught ReferenceError: Unable to process binding "foreach: function(){return People }"(…) 

這是當屏幕加載。

,然後當我嘗試的對象添加到我的數組,我得到這個:

knockout-3.4.1.js:14 Uncaught TypeError: Cannot read property 'length' of undefined(…) 

任何人都可以看到,爲什麼我掙扎這麼多?我想也許我不能像這樣宣佈'Person'對象?

+0

http://stackoverflow.com/questions/23085414/knockout-unable-to-process-binding-foreach – Mahi

回答

1

在這一行:

self.People = ko.observableArray([Person]); 

你創建與在其類/函數的引用可觀察到的陣列。如果你想創建一個真實的人,你必須使用new關鍵字。請注意,FirstName仍然未定義。

self.People = ko.observableArray([]); // Opt 1. Initialize as empty list 
self.People = ko.observableArray([new Person()]); // Opt 2. With empty person inside 

MySelected具有相同的錯誤。

您還必須修復一些未封閉的HTML標記。此外,我建議您將SaveDelete方法放入MyViewModel而不是window

相關問題