Vue.js Vue';s的观察者参数都是什么意思?

Vue.js Vue';s的观察者参数都是什么意思?,vue.js,Vue.js,我正在尝试调试一些Vue代码。我发现一些DOM元素在我不希望它们做出反应的时候也会做出反应,反之亦然。我看过Vue,但除了提供Vue反应性的基本原理外,它并没有让我越过界限 下面是我在控制台中看到的示例: 当我检查Vue数据项(本例中为四个对象的数组)时,请解释一下Chrome DevTools中显示的以下参数: 深沉的 使用者 懒惰的 同步 (a)链接到相关文档和(b)关于调试Vue这方面的建议的额外要点。我从源代码中了解到: deep很容易-它检查是否需要监视嵌套值的更改(root.of.

我正在尝试调试一些Vue代码。我发现一些DOM元素在我不希望它们做出反应的时候也会做出反应,反之亦然。我看过Vue,但除了提供Vue反应性的基本原理外,它并没有让我越过界限

下面是我在控制台中看到的示例:

当我检查Vue数据项(本例中为四个对象的数组)时,请解释一下Chrome DevTools中显示的以下参数:

  • 深沉的
  • 使用者
  • 懒惰的
  • 同步

  • (a)链接到相关文档和(b)关于调试Vue这方面的建议的额外要点。

    我从源代码中了解到:

    deep
    很容易-它检查是否需要监视嵌套值的更改(
    root.of.my.element.changed

    user
    是一个内部变量,用于描述观察者是由用户创建的(在组件的
    watch
    部分中),还是由系统内部创建的

    lazy
    与其他懒惰修饰符类似——它将使用内部缓存和组更新事件(观察者处理程序);如果一次更新多个对象特性,则此选项非常有用

    sync
    -这是最棘手的,我所知道的是基于浏览代码-它将观察者标记为同步。如果设置为true,每个更新都将立即启动,并且基本上会阻止任何其他代码的执行。即使您没有将
    lazy
    设置为true,观察者仍将对其回调进行排队,异步工作以避免阻止任何代码执行<代码>同步将强制执行其他操作

    其他(感谢@Ohgodwhy):


    immediate
    -在使用变量的当前值创建组件时,将立即触发观察者的回调

    我从源代码中了解到:

    deep
    很容易-它检查是否需要监视嵌套值的更改(
    root.of.my.element.changed

    user
    是一个内部变量,用于描述观察者是由用户创建的(在组件的
    watch
    部分中),还是由系统内部创建的

    lazy
    与其他懒惰修饰符类似——它将使用内部缓存和组更新事件(观察者处理程序);如果一次更新多个对象特性,则此选项非常有用

    sync
    -这是最棘手的,我所知道的是基于浏览代码-它将观察者标记为同步。如果设置为true,每个更新都将立即启动,并且基本上会阻止任何其他代码的执行。即使您没有将
    lazy
    设置为true,观察者仍将对其回调进行排队,异步工作以避免阻止任何代码执行<代码>同步将强制执行其他操作

    其他(感谢@Ohgodwhy):


    immediate
    -将在使用变量的当前值创建组件时立即触发观察者的回调

    FWIW,这篇文章写得不错但不够:FWIW,这篇文章写得不错但不够:我正在写你的回复。太完美了。我要补充的唯一一件事是OP缺少
    immediate
    ,它告诉它在
    组件创建时执行附加到它的函数。
    。谢谢@Ohgodwhy-我将添加此函数只是为了得到完整的列表:)我正在按照您的回答编写。太完美了。我要添加的唯一一件事是OP缺少
    immediate
    ,它告诉它在
    组件创建时执行附加到它的函数