你如何调试你的knockout.js绑定表达式?

YMC*_*YMC 7 knockout.js

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

Jef*_*ado 10

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

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

  • 这取决于你有什么样的"失败".如果它发生在多个绑定中,请一次处理一个问题.通过确保一切都符合您的预期,了解失败的原因. (2认同)