• 在 setup 和其他 Composition API 中没有 this
  • 可通过 getCurrentInstance 获取当前实例
  • 若使用 Options API 可照常使用 this

代码说明

import { onMounted, getCurrentInstance } from 'vue'
export default {
	data () {
		return {
			x: 1
		}
	},
	setup () {
		// 这里打印出来undefined,setup里面没有this
		console.log(this)
		onMounted (() => {
			// 这里就能打印出来1啦
			console.log(instance.data.x)
		})
		const instance = getCurrentInstance()
		// 这里打印出来是 undefined,因为 setup 声明周期是 beforeCreated 和 created 合并的,这时候 data 还没有初始化,所以我们要在 onMounted 里打印。
		console.log(instance.data.x)
	}
}
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐