Я новичок в нокауте 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>