我有以下代码,我相信 ViewModel 的结构正确(我可能错了),但我似乎无法正确访问这些值。
JavaScript 片段
注意:我正在使用带有 DurandalJS 和<!-- ko compose -->
样式绑定的 Hot Towel SPA 模板,但我没有在这里展示它以保持简单。
var vm = {
activate: activate,
title: 'People',
people: [
new PersonItem('TestFirst', 'TestLast', 'first@last.com', '111.111.1111', 'bio here'),
new PersonItem('TestFirst2', 'TestLast2', 'first2@last2.com', '222.222.2222', 'bio here')
],
mytext: 'Oh Hey There'
};
return vm;
function PersonItem(firstname, lastname, email, phone, shortbio) {
var firstName = firstname;
var lastName = lastname;
var emailAddress = email;
var phoneNumber = phone;
var shortBio = shortbio;
var fullName = function () {
return firstName + " " + lastName;
};
var imagePath = function() {
return "/Content/images/Bio_" + firstName + "_" + lastName + ".jpg";
};
var resumePath = function () {
return "/Content/Resumes/resume_" + firstName + "_" + lastName + ".pdf";
};
我正在尝试的绑定
<div data-bind="text: mytext"></div>
<ul data-bind="foreach: people">
<li data-bind="text: firstName"></li>
</ul>
问题
我看到创建了一个项目符号,这似乎表明正在找到该集合,但我尝试访问“firstName”的方式似乎无法正常工作。
我看到以下内容(请注意,文本字符串是绑定的,所以我知道淘汰赛正在做它的事情):
我知道这可能是我的一个简单的疏忽,但我似乎看不到它,谷歌让我空了(可能是因为我不确定要搜索什么)。