@[TOC]
1 由Vue管理的函数
computed
计算属性watch
监视属性filters
(Vue3中已弃用且不再支持) 过滤器methods
上述属性里配置的函数this
指向Vue
实例,不要采用箭头函数写法,因为箭头函数没有自己的this
对象,使用this
时会向外找到window
,不会指向Vue
实例,也就调用不到Vue
中的数据。2 不被Vue管理的函数
setTimeout
计时器里的回调函数setInterval
定时器里的回调函数ajax
请求里的回调函数
上述回调函数使用普通函数定义的话,里面的this指向的是window
,
所以在被Vue
管理的函数中写不被Vue
管理的函数,要用箭头函数,此时this
会向函数外找,找到Vue
实例(因为在vue
环境里)。
3 总结
在Vue
环境里:
- 由
Vue
管理的函数,尽量使用普通函数定义。 - 不被
Vue
管理的函数,尽量使用箭头函数定义。 - 这样保证this总是指向
Vue
实例,可以调用到Vue
数据。