我正在尝试学习淘汰赛。在我的小项目中,我想输入一个名字,一个姓氏,并将其添加到“人”对象的数组中,然后使用foreach在列表中显示该列表。
https://jsfiddle.net/2pf07vdh/
我也是Fiddler的新手,所以不要认为淘汰赛正在加载(小复选框应该隐藏并显示内容,但不是),但是在我的编辑器中,我得到了一个错误:
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'对象?
在这一行:
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标签。另外,我建议您将Save
和Delete
方法放在MyViewModel
而不是中window
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句