我有以下 JSON 从 Web 服务返回,我试图将其绑定到一个简单列表,以便为客户显示名称和图像:
{"Customers":{"data":[{"CustomerID":1,"CustomerName":"Jones","CustomerImage":"~/Images/Customers/Jones02.gif","CustomerEnabled":true},{"CustomerID":7,"CustomerName":"Hughes","CustomerImage":"~/Images/Customers/Hughes057847.gif","CustomerEnabled":true},{"CustomerID":13,"CustomerName":"Michaels","CustomerImage":"~/Images/Customers/M12012.gif","CustomerEnabled":true},{"CustomerID":123,"CustomerName":"Bernard","CustomerImage":"~/Images/Customers/kb040412.gif","CustomerEnabled":true}]}}
在我的标记中,我有
<section id="CustomerList">
<ul data-bind: 'foreach: data'>
Data: <span data-bind="text: JSON.stringify(ko.toJS($data), null, 2)"></span>
<li>
<span data-bind="text:CustomerID"></span>
</li>
</ul>
</section>
但我无法让它通过淘汰赛的数据绑定写出 ID。
我执行这个过程的 JS 很简单:
var ViewModel = {
Customer: []
};
dataService.getCustomers(function (data) {
ViewModel.Customer = data.Customers;
ko.applyBindings(ViewModel);
});
我可以进入 getCustomers() 回调并验证 JSON 是否像上面那样返回,我还可以查询 ViewModel.Customer 并查看分配的数据,但没有写出任何内容。我认为这将是微不足道的,但到目前为止没有任何效果。
有任何想法吗?
谢谢