【发布时间】:2017-08-11 20:05:48
【问题描述】:
刚刚开始使用映射插件进行淘汰赛。但是在阅读文档后,我无法弄清楚为什么我的 observableArray 说它是未定义的。
这是小提琴。 https://jsfiddle.net/zv39qn64/3/
当我运行小提琴时,我收到 ReferenceError: Books is not defined.
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>
【问题讨论】:
-
来自服务器的格式不正确,你能说明你是如何从服务器发送数据的吗?
-
它正在使用 jsfiddle 的 echo 功能。你试过小提琴吗?
标签: javascript knockout.js knockout-mapping-plugin