다음과 같은 HTML 코드가 있습니다. 데이터를 레이블에 바인딩하고 있습니다.KnockoutJS에서 복잡한 데이터를 UI에 바인딩하는 방법은 무엇입니까?
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 호출로부터 데이터를 얻고 있지만,이 UI에 바인딩 점점되지 않습니다
data-bind="text: employeeData.Id, valueUpdate:'keyup'"
data-bind="text: employeeData.Name, valueUpdate:'keyup'"
그리고 내 녹아웃 스크립트는 다음과 같습니다. 누구든지 내가 여기서 잘못하고있는 것을 도울 수 있습니까?
ko.applyBindings에 대한 귀하의 전화는 어디에 있습니까? –
@BonMacalindong : 파일 하단에 있습니다. 다른 바인딩은 괜찮습니다. 일부 버튼을 클릭 할 때처럼 문자열 유형의 레이블 텍스트를 변경할 수 있습니다. 위의 예제에서 나는 복잡한 객체를 다루고 있는데, 그것은 내가 문제가있는 곳이다. – yashwanth
왜'self.employeeData = ko.observable (data);'를 할 것인가? 이것은 당신의 모델을 덮어 쓰지 않습니까? 당신이'self.employeeData.Id (data.Id)'를하지 않았습니까? 문서를 읽었습니까? http://knockoutjs.com/documentation/observables.html – Cristy