在Vue 3中,使用setup函数来定义组件,并且使用refreactive函数来创建响应式数据。

通信方式的变化如下:

  1. Props: 在Vue 3中,可以使用props选项来声明组件的属性,并且可以使用toRefs函数将属性转换为响应式数据。例如:
// ChildComponent.vue
export default {
  props: ['message'],
  setup(props) {
    const { message } = toRefs(props);
    return { message };
  }
}
  1. Emit: 在Vue 3中,可以使用emits选项来声明组件的自定义事件,并且可以使用$emit函数来触发事件。例如:
// ChildComponent.vue
export default {
  emits: ['update:message'],
  setup(props, { emit }) {
    const setMessage = (newMessage) => {
      emit('update:message', newMessage);
    };
    return { setMessage };
  }
}
  1. Provide/Inject: 在Vue 3中,可以使用provide函数在父组件中提供数据,然后使用inject函数在子组件中注入数据。例如:
// ParentComponent.vue
import { provide } from 'vue';

export default {
  setup() {
    const message = ref('Hello');
    provide('message', message);
  }
}

// ChildComponent.vue
import { inject } from 'vue';

export default {
  setup() {
    const message = inject('message');
    return { message };
  }
}

总的来说,Vue 3中使用setup函数来定义组件,并且使用refreactive函数创建响应式数据。在通信方面,可以使用props来声明属性,使用emits来声明自定义事件,以及使用provideinject来传递数据

vue3中使用setup组件通信的变化

原文地址: https://www.cveoy.top/t/topic/h3wG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录