我是 Knockout JS 的新手。我需要将嵌套数组绑定如下
名称:下拉
电子邮件:选定用户的姓名
联系方法类型:下拉列表中选择了 ContactInfo 中的联系方法类型
联系人值:来自 ContactInfo 的实际值
我的姓名、电子邮件和联系方式有效。我需要知道如何在下拉列表中选择联系人方法类型值,并且同样需要绑定到联系人值。
我收到以下错误 错误:无法获取属性“ContactMethodType”的值:对象为空或未定义
function LifelineViewModel() {
this.lifelines = ko.observableArray([{
Name: "",
Email: "",
ContactInfo:
{
ContactMethodType: "",
ContactValue: ""
}
}]);
this.selectedLifeline = ko.observable();
this.contactTypes = ko.observableArray([{Name: ''}]);
this.selectedContactInfo = ko.dependentObservable(function () {
if (this.selectedLifeline() === undefined) return null;
return this.selectedLifeline().ContactInfo;
}, this);
this.selectedContactMethodType = ko.dependentObservable(function () {
if (this.selectedContactInfo() === undefined) return null;
return this.selectedContactInfo().ContactMethodType;
}, this);
}
HTML 代码
<select data-bind="options: lifelines, optionsText: 'Name', value: selectedLifeline"></select>
<p><span data-bind="text: selectedLifeline().Email"></span></p>
<p><span data-bind="text: selectedContactInfo().ContactMethodType + ' ' + selectedContactInfo().ContactValue"></p>
<select data-bind="options: contactTypes, optionsText: 'Name', value: selectedContactMethodType"></select>