刚开始使用映射插件进行淘汰。但是,在阅读了文档之后,我无法弄清楚为什么我的observableArray说它是未定义的。
这是小提琴。 https://jsfiddle.net/zv39qn64/3/
当我运行小提琴时,我收到ReferenceError:书未定义。
JS
$(document).ready(function() {
getModelFromServer()
});
var data = {
LibraryName: "My home library",
Books: [
{ Id : 1, Title : "Oliver Twist" },
{Id: 2, Title: "Moby Dick"}
]
};
function getModelFromServer() {
$.ajax({
type: 'GET',
cache: false,
data: data,
url: '/echo/jsonp/',
success: function(response) {
var libraryViewModel = ko.mapping.fromJS(response);
ko.applyBindings(libraryViewModel);
}
});
}
的HTML
The library <span data-bind="text: LibraryName"></span>
<ul data-bind="foreach: Books">
<li>
<span data-bind="text: Id"></span> <span data-bind="text: Title"></span>
</li>
</ul>
最佳答案
function getModelFromServer() {
$.ajax({
type: 'POST',
cache: false,
data: {
json: JSON.stringify(data)},
url: '/echo/json/',
success: function(response) {
var libraryViewModel = ko.mapping.fromJS(response);
ko.applyBindings(libraryViewModel);
}
});
}
仅更改要发布的类型和数据输入
https://jsfiddle.net/zv39qn64/4/
关于javascript - 带有可观察数组的 knockout 映射插件难度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42905400/