2

我想要一個基本的Hello工作示例獲取JSON,自動映射它,然後綁定到一個可觀察的,我敢肯定,我得到了一些基本錯誤。Knockout:映射/綁定JSON問題

JSON從AJAX調用返回

"{\"Content\":\"hello world\"}" 

JS

function ViewModel() { 
var self = this; 

self.message = ko.observable(); 

$.getJSON("/home/getmessage", function (response) { 
    var mapped = ko.mapping.fromJSON(response); 
    self.message(mapped.Content); 
}); 
}; 

ko.applyBindings(new ViewModel()); 

我越來越到位的 'Hello World' 的,我期待

function c(){if(0<arguments.length){if(!c.equalityComparer||!c.equalityComparer(d,arguments[0]))c.I(),d=arguments[0],c.H();return this}a.U.La(c);return d} 

回答

1

排序如下,我忽略了這個事實ko.mapping返回observable,所以你必須把它們作爲一個函數來獲取它們的值。

function viewModel() { 
var self = this; 

self.content = ko.observable(); 

$.getJSON("/home/getmessage", function (response) { 
    var mapped = ko.mapping.fromJSON(response); 
    self.content(mapped.Content()); 
}); 
} 

ko.applyBindings(new viewModel);