나는 서버에서 오는이 JSON 데이터를 가지고 :녹아웃 맵핑 JSON 업데이트 기존 뷰 모델
{"HaveNotification":false,"IsError":false,"Title":null,"Description":null}
및 ko.mapping를 통해이보기 모델을 채우기 위해 노력하고 있어요 :이 코드
var notifyVM = {
HaveNotification: ko.observable(true),
IsError: ko.observable(false),
Title: ko.observable('Title goes here'),
Description: ko.observable('Description goes here'),
}
, 폴링 간격에 호출되는 :
function pollNotifications() {
$.getJSON('@Url.Action("GetNotifications", "Home")', function (data) {
ko.mapping.fromJSON(data, notifyVM);
setTimeout(pollNotifications, 10000);
});
}
을하고이 페이지로드 코드 :
$(function() {
ko.applyBindings(notifyVM);
setTimeout(pollNotifications, 10000);
});
그러나 작동하지 않습니다. fromJSON 호출 후 뷰 모델을 검사하면 관찰 가능 항목이 업데이트되지 않고 초기 값으로 유지됩니다.
UPDATE :
var newVM = ko.mapping.fromJSON(data);
내가이 생성 뷰 모델은 내 것과 동일하지 않은 것을 알 수 , 그것은 하나의 관찰로 구성되어 나는 이것이 pollNotifications에서 할 경우 일부 추가 정보를 원하시면 ... 함수 함수 인 반면, 광산은 관찰 가능한 속성 집합을 가진 객체입니다.
ko.mapping.fromJS –