小编典典

如何调试 KnockoutJS 的模板绑定错误?

all

我一直在调试 KnockoutJS 模板中的问题。

假设我想绑定到一个名为“ items”的属性,但在模板中我打错字并绑定到(不存在的)属性“ item”。

使用 Chrome 调试器只会告诉我:

"item" is not defined.

是否有工具、技术或编码风格可以帮助我获得有关绑定问题的更多信息?


阅读 62

收藏
2022-06-29

共1个答案

小编典典

当某个范围内的可用数据存在问题时,我经常做的一件事是将模板/部分替换为以下内容:

<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.

2022-06-29