我正在尝试调试一些Vue代码。我发现有些DOM元素在我不希望它们发生反应时会做出反应,反之亦然。我已经看过Vue Mastery Course on Advanced Components,但除了提供有关Vue反应性的原理外,它并没有使我越过界限。
以下是我在控制台中看到的示例:
当我检查Vue数据项(在这种情况下为四个对象的数组)时,您能否解释一下Chrome DevTools中显示的以下参数:
关于(a)链接到相关文档和(b)关于调试Vue这方面的建议的要点。
答案 0 :(得分:4)
我从源代码中知道的是:
deep
很简单-它检查是否需要监视嵌套的值更改(root.of.my.element.changed
)
user
是一个内部变量,它描述监视程序是由用户(在组件的watch
部分中)创建的还是由系统内部创建的
lazy
就像其他惰性修饰符一样-将使用内部缓存和组更新事件(观察程序处理程序);如果您一次更新多个对象属性,则很有用
sync
-这是最棘手的,我所知道的是基于浏览代码的-它将监视程序标记为同步。如果设置为true,则每个更新将立即触发,并且基本上将阻止任何其他代码执行。即使您没有将lazy
设置为true,监视程序仍将排队其回调,以异步方式工作,以免阻塞任何代码执行。 sync
将强制执行
其他(感谢@Ohgodwhy):
immediate
-在创建具有变量当前值的组件后立即触发观察者的回调