在vue3的setup函数中,没有了this关键字,因为setup是在组件初始化阶段运行的,此时组件实例还没被创建,因此也就不存在this对象。
在vue2中,使用this.$emit来触发父组件的事件,在vue3中,可以直接把emit函数作为参数传递进来。
在vue2中的写法
export default{
methods: {
handleChange(){
this.$emit('change', true);
}
}
}
在vue3中的写法
import { defineComponent } from 'vue'
export default defineComponent({
setup(props, { emit }) {
function handleChange() {
emit('change', true)
}
return {
handleChange,
}
}
})