vue中this在回调函数中的使用

Posted eternityz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue中this在回调函数中的使用相关的知识,希望对你有一定的参考价值。

this在各类回调中使用:

如果是普通函数是没法使用的

所以需要先将this.变量赋值给新的变量,然后才能在回调函数中使用

例如:
refund: function (id) {
      if (!this.url.refund) {
        this.$message.error("请设置url.refund属性!")
        return
      }
      var that = this;
      this.$confirm({
        title: "确认退款",
        content: "是否要进行退款?",
        onOk: function () {
          putAction(that.url.refund, { "id": id }).then((res) => {
            if (res.success) {
              that.$message.success(res.message);
              that.loadData();
            } else {
              that.$message.warning(res.message);
            }
          });
        }
      });
    },

如果是箭头函数式可以使用的

下面的这个例子只是参考,并不代表this.$confirm就是这么使用,具体参考ant的文档
下面的例子只是代表,箭头函数可以使用this
efund: function (id) {
      if (!this.url.refund) {
        this.$message.error("请设置url.refund属性!")
        return
      }
      this.$confirm({
        title: "确认退款",
        content: "是否要进行退款?",
        onOk: () => {
          putAction(that.url.refund, { "id": id }).then((res) => {
            if (res.success) {
              this.$message.success(res.message);
              this.loadData();
            } else {
              this.$message.warning(res.message);
            }
          });
        }
      });
    },

以上是关于vue中this在回调函数中的使用的主要内容,如果未能解决你的问题,请参考以下文章

vue2中使用this的问题

vue的methods中方法2中调用this.方法1

vue使用this.$nextTick()函数

Vue踩坑Vue在回调函数叶进行重新赋值data中的数据的时候需要用一个that变量进行重新定义被这个问题搞了很久,起码半天了

WinForms 中的托管线程如何使用“this->”在回调函数中访问表单元素(更改值等)

为啥vue要使用 let that = this