我无法弄清楚当我运行jsfiddle时控制台中的错误是什么。
这是错误的开始:
jQuery.Deferred exception: Unable to process binding "foreach: function (){return items }" Message: Unable to process binding "value: function (){return itemNo }" Message: itemNo is not defined
anonymous/<.value@https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.1/knockout-min.js line 68 > Function:1:58 a.d.value.init/m@https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.1/knockout-min.js:102:301 z.Qc@https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.1/knockout-min.js:51:391
全部为黄色,但底部只有一个红色错误:ReferenceError: itemNo is not defined
。它让我觉得控制台永远不会提供相关的行号。我认为有库,部分视图,布局等,这很难。
答案 0 :(得分:1)
错误是说你的foreach上下文中不存在itemNo
,那是因为你将整个json数组作为字符串传递,所以你需要解析你的json字符串。
尝试:
ko.mapping.fromJS(JSON.parse(items),{},self.items)
。