美文网首页vue
Vue中this指向问题

Vue中this指向问题

作者: 扶得一人醉如苏沐晨 | 来源:发表于2023-03-17 16:49 被阅读0次

一、由Vue管理的函数

例如:

  • computed 计算属性
  • watch 监视属性
  • filters (Vue3中已弃用且不再支持) 过滤器
  • methods
    上述属性里配置的函数this指向Vue实例不要采用箭头函数写法,因为箭头函数没有自己的this对象,使用this时会向外找到window不会指向Vue实例,也就调用不到Vue中的数据。

二、不被vue管理的函数

  • setTimeout计时器里的回调函数
  • setInterval定时器里的回调函数
  • ajax请求里的回调函数

上述回调函数使用普通函数定义的话,里面的this指向的是window

所以在被Vue管理的函数中写不被Vue管理的函数,,要用箭头函数,此时this会向函数外找,找到Vue实例(因为在vue环境里嘛)。

三、总结

在Vue环境里:

  • 由Vue管理的函数,尽量使用普通函数定义。
  • 不被Vue管理的函数,尽量使用箭头函数定义。
  • 这样保证this总是指向Vue实例,可以调用到Vue数据。

相关文章

  • vue中this指向问题

    根据VUE官方文档给出的解释 在Vue所有的生命周期钩子方法(如created,mounted,updated以及...

  • Vue中this指向的问题

    我们知道,如果Vue的data中有属性message,那么方法中直接用this.message就可以获取到这个me...

  • vue中this的指向问题

    在函数中需要遍历数组等对象时,遍历中的this会指向window,所以需要在遍历前定义一下this指向

  • vue中的this指向问题

    第一个输出英文"Hello!”,第二个输出中文“你好!”。这说明了showMessage1()里的this指的是w...

  • Vue中this使用的注意事项

    一、 axios中this的指向问题 在vue中使用axios做网络请求的时候,会遇到this不指向vue,而为u...

  • axios 在vue中this指向问题

    在Vue中this始终指向Vue,但axios中this为undefined,例如 若需要赋值给变量用以渲染数据,...

  • Vue笔记 -- axios中this的指向问题

    axios中this的指向问题

  • vue中this指向小记

    普通函数中的的this指向取决于运行该函数的作用域,而箭头函数的this是定义时就固定了。然而在vue中有一事不明...

  • Vue常见错误

    1 this指向 vue中this指向的vm实例,如果map或者filter循环中,this的指向就是个迷了 解决...

  • 为什么vue要使用 let that = this

    在Vue中this始终指向Vue,但一些其他组件如axios中this为undefined,通过let that ...

网友评论

    本文标题:Vue中this指向问题

    本文链接:https://www.haomeiwen.com/subject/befqrdtx.html