我有以下 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 并查看分配的数据,但没有写出任何内容。我认为这将是微不足道的,但到目前为止没有任何效果。
有任何想法吗?
谢谢