8

我喜欢 KO 框架,但调试有时对我来说只是一场噩梦。如果是常规 javascript 代码,我可以放置一个断点并在运行时去那里看看有什么问题,但是如何调试淘汰表达式?在大多数情况下,绑定错误是由于缺少某些符号或语法错误造成的,有时敲除会向我显示有关该问题的明确错误,但有时不会,预期的数据只是没有出现在页面上,或者诸如“绑定表达式错误”之类的错误消息,即使是“未找到函数 abc”之类的消息也无法让我立即了解问题所在,因为我不知道我的模型 KO 运行时目前正在经历哪个级别。理想情况下,应该有一个浏览器插件可以在任何 KO 表达式中放置断点或其他内容,并查看它在运行时运行的上下文。市场上有这样的东西还是预期的?关于改进调试过程的任何想法?

4

2 回答 2

10

在开发过程中,我使用调试版本并在函数上设置断点createBindingsStringEvaluator()(v2.1.0 中的第 1858 行)。因此,就在绑定被“解析”之前,您可以分析将要评估的表达式,找出哪些绑定失败,它们的上下文,您可以逐步完成绑定过程,这样您就可以一直走下去,直到它失败。

为了最大限度地减少非常复杂的绑定的问题,特别是如果它们需要重复,我会考虑创建一些自定义绑定处理程序,它们可以一次应用一组绑定。

于 2012-09-14T01:46:24.593 回答
0

在当前版本 (v 3.4.1) 中,该函数称为parseBindingsString。在此处设置 adebugger或 aconsole.log将为您提供一些信息。

于 2017-02-23T16:17:54.343 回答