如何在Vue中的方法功能(去抖动)之前设置变量?

时间:2019-03-07 17:22:23

标签: javascript vue.js vuejs2

如何在调用该功能之前设置isLoading = true??现在,isLoading为假,直到调用了反跳功能为止。

<script>
import _ from 'lodash'
export default {
  data: {
     isLoading: false;
  }
  methods: {
    fetch: _.debounce(function() {
      this.isLoading = true;
      // fetch my data
      this.isLoading = false;
    }, 200)
  }
}
</script>

1 个答案:

答案 0 :(得分:1)

这应该可以实现我认为的技巧:

methods: {
  fetch: _.debounce(function() {
    // fetch my data
    this.isLoading = false;
  }, 200),
  askForData: function() {
    this.isLoading = true;
    this.fetch();
  }
}

现在,每当需要新数据时,您就致电askForData-我想是用户采取的行动-。这会将加载设置为true并调用fetch。由于fetch已被反跳,因此对fetch的其他任何立即调用都不会触发另一个http请求,但是现在loading状态已得到正确处理。