小编Rai*_*ška的帖子

VueJS 2对多个组件进行了辩护

我有一个Vue组件,它使用多个子组件.在这些子组件上,我有一个观察数据变化并处理这些变化的观察者.我想为此实施去抖动.

    watch: {
    data: {
      handler: function () {
        this.processData()
      },
      deep: true
    }
  },
  methods: {
    processData: debounce(function () {
      console.log(this.id)
    }, 250),
Run Code Online (Sandbox Code Playgroud)

问题是debounce有效,所以它只在最后一个子组件上执行.

我找到了一个debounce函数的解决方案,可以接受额外的id debounceWithId

但问题是,如果我指定此函数如下:

  methods: {
    processData: debounceWithId(function () {
      console.log(this.id)
    }, 250, this.id),
Run Code Online (Sandbox Code Playgroud)

最后一个this.id未定义.

在多个组件中使用去抖动的正确方法是什么,因此该函数会在每个组件上单独触发?

vue.js quasar debounce

8
推荐指数
1
解决办法
1245
查看次数

标签 统计

debounce ×1

quasar ×1

vue.js ×1