我一直在调试 KnockoutJS 模板中的问题。
假设我想绑定到一个名为“ items”的属性,但在模板中我打错字并绑定到(不存在的)属性“ item”。
items
item
使用 Chrome 调试器只会告诉我:
"item" is not defined.
是否有工具、技术或编码风格可以帮助我获得有关绑定问题的更多信息?
当某个范围内的可用数据存在问题时,我经常做的一件事是将模板/部分替换为以下内容:
<div data-bind="text: ko.toJSON($data)"></div>
或者,如果您想要一个更易读的版本:
<pre data-bind="text: JSON.stringify(ko.toJS($data), null, 2)"></pre>
这将吐出在该范围内绑定的数据,并让您确保您正在适当地嵌套事物。
更新:从 KO 2.1 开始 ,您可以将其简化为:
<pre data-bind="text: ko.toJSON($data, null, 2)"></pre>
现在参数被传递给JSON.stringify.
JSON.stringify