新手学习VUE踩坑之旅---methods里面使用箭头函数要注意this

VUE的methods对象里面如果函数使用箭头函数会导致this指向的不是vue实例$vm

例子:想写一个点击事件:点击输入框的“x”,即可清空文本框的内容

首先为输入框增加一个ref属性(ref=“inputUser”),然后为“x”加一个点击事件(@click=“deleteInp”)

methods中使用普通函数:

methods: {
      deleteInp : function() {
        let userValue = this.$refs.inputUser
        userValue.value = null
        userValue.focus()
      }
}

通过this.$refs.inputUser 获取到文本框对象,在设置其value属性为空即清空文本框内容

演示效果:

首先是个输入框:

输入文本,出现“x”

点击“x”清空文本框内容

一切都是非常完美的,没有一丝阻碍(~ ̄▽ ̄)~

但是如果将函数改成箭头函数的话,就会报错┭┮﹏┭┮

首先上代码:

methods: {
      deleteInp : () =>{
        let userValue = this.$refs.inputUser
        userValue.value = null
        userValue.focus()
      }
}

修改完之后运行:

就会报错,说‘inputUser’没有定义,因为使用箭头函数,此时的this就不是指向$vm。所以在使用箭头函数的时候我们要弄清楚this的指向!!!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值