Tôi có JSON dữ liệu này đến từ các máy chủ:lập bản đồ loại trực tiếp JSON cập nhật xem hiện tại mô hình
{"HaveNotification":false,"IsError":false,"Title":null,"Description":null}
và đang cố gắng để cư mô hình quan điểm này qua ko.mapping:
var notifyVM = {
HaveNotification: ko.observable(true),
IsError: ko.observable(false),
Title: ko.observable('Title goes here'),
Description: ko.observable('Description goes here'),
}
với mã này , được gọi trong khoảng thời gian bỏ phiếu:
function pollNotifications() {
$.getJSON('@Url.Action("GetNotifications", "Home")', function (data) {
ko.mapping.fromJSON(data, notifyVM);
setTimeout(pollNotifications, 10000);
});
}
và đây là mã tải trang:
$(function() {
ko.applyBindings(notifyVM);
setTimeout(pollNotifications, 10000);
});
nhưng không hoạt động. Nếu tôi kiểm tra mô hình xem sau khi cuộc gọi fromJSON không thể cập nhật các quan sát, chúng vẫn ở giá trị ban đầu của chúng.
UPDATE: Một số thông tin thêm ... nếu tôi làm điều này trong pollNotifications chức năng
var newVM = ko.mapping.fromJSON(data);
Tôi nhận thấy rằng mô hình xem nó tạo ra là không giống như một của tôi, nó bao gồm một quan sát đơn chức năng, trong khi tôi là một đối tượng với một tập hợp các thuộc tính quan sát được.
cố gắng sử dụng ko.mapping.fromJS –