У меня есть HTML-код, как показано ниже. Я привязываю данные к ярлыкам.Как связать сложные данные с пользовательским интерфейсом в KnockoutJS?
data-bind="text: employeeData.Id, valueUpdate:'keyup'"
data-bind="text: employeeData.Name, valueUpdate:'keyup'"
И мой нокаут сценарий, как показано ниже:
self.employeeData = { Id: ko.observable(" "),Name:ko.observable(" ") };
self.getEmployee = function(data, event){
$.ajax({
type: "Get",
url: 'http://localhost:8081/api/Values/GetEmployee',
dataType: "json",
cache: false,
async: false,
crossDomain:true,
dataType : 'json',
success: function (data) {
self.employeeData = ko.observable(data);
},
error: function() {
alert("Error");
}
});
Я получаю данные из Ajax вызова правильно, но он не становится связан с пользовательским интерфейсом. Может ли кто-нибудь помочь мне, что я делаю неправильно здесь?
Адрес: ko.applyBindings? –
@BonMacalindong: его там внизу файла. Другое связывание происходит нормально, например, при нажатии какой-либо кнопки я могу изменить текст метки, который имеет тип строки. В приведенном выше примере я имею дело со сложным объектом, и именно там у меня возникают проблемы – yashwanth
Почему вы делаете 'self.employeeData = ko.observable (data);'? Разве это не переписывает вашу модель? Shuldn't вы делаете 'self.employeeData.Id (data.Id)'? Вы читали документы? http://knockoutjs.com/documentation/observables.html – Cristy