使用 KnockoutJs 遍历嵌套的 Django REST Framework API
Posted
技术标签:
【中文标题】使用 KnockoutJs 遍历嵌套的 Django REST Framework API【英文标题】:Iterate through nested Django REST Framework API with KnockoutJs 【发布时间】:2017-04-25 11:28:40 【问题描述】:我正在构建一个应用程序,并使用 Django 和 Django REST Framework 作为后端,并使用 KnockoutJS 在前端处理我的列表。我以前使用过 Knockout,但它是一个简单的 JSON 列表,但我无法弄清楚如何从 API 中获取嵌套的 JSON 对象并显示在我的模板中。它会将对象结构打印到控制台,所以我知道我已连接,但同时会打印错误Uncaught TypeError: Cannot read property 'fromJson' of undefined(…)
;如果我可以正确地遍历对象,我相信它也可以修复 Uncaught 错误。谢谢。
<script>
$(document).ready(function ()
var url = "/api/plaques/";
var viewModel = ;
$.getJSON(url, function (data)
console.log(data);
viewModel.model = ko.mapping.fromJson(data);
ko.applyBindings(viewModel);
);
);
</script>
<table data-bind="foreach: items">
<tr>
<td data-bind="text: id"></td>
...
</tr>
</table>
【问题讨论】:
【参考方案1】:看起来您没有正确安装和包含ko.mappings
插件。它不是核心knockout.js 的一部分。
另外请注意,有问题的方法被命名为 ko.mapping.fromJSON
而不是ko.mapping.fromJson
。
https://github.com/SteveSanderson/knockout.mapping/tree/master/build/output
【讨论】:
以上是关于使用 KnockoutJs 遍历嵌套的 Django REST Framework API的主要内容,如果未能解决你的问题,请参考以下文章
使用 knockoutjs 绑定来自 JSON 对象的数据 - Asp.net MVC
KnockoutJS 3.X API 第四章 数据绑定 控制流foreach绑定