我正在接收JSON字符串并尝试将其映射到KOJS VM,但我不明白为什么以下代码无效。
这是我的JS档案:
var viewModel = {};
$.ajax({
url: '../data/settings',
cache: false,
success: function(data) {
alert(data);
viewModel = ko.mapping.fromJS(data);
ko.applyBindings(viewModel);
}
});
显示第一个警告:
{"remember":"false"}
我的HTML,不起作用是:
<span data-bind="value:remember"></span>
你知道这里可能出了什么问题吗?谢谢!
答案 0 :(得分:2)
看起来您的数据可能不是JSON字符串,因此您想要使用fromJS:
viewModel = ko.mapping.fromJS(data);
此问题有助于调试绑定:How to debug template binding errors for KnockoutJS?
答案 1 :(得分:2)
我认为问题可能是您的绑定代码:
<span data-bind="value:remember"></span>
应该是:
<span data-bind="text:remember"></span>
看到这个小提琴:http://jsfiddle.net/kboucher/Jj9DZ/
'value'适用于具有value属性的表单字段(并且可以抽象为包含select
个框)