重要:只能用在 setup 这个生命周期内使用

vue 3 中尽量在 setup 中定义数据和定义方法

静态传值

传值给子组件

provide("isSpinShow", true);

子组件中使用

inject("isSpinShow")

动态传值

传值给子组件

setup() {
    let isSpinShow = ref<boolean>(false);

    // 传值给子组件
    provide("isSpinShow", isSpinShow);

    // 以下方法中动态改变值
    const submitBtn = () => {
        isSpinShow.value = true;
               ajax请求.then(() => {
            isSpinShow.value = false;
    });

    return {
        submitBtn,
    }

}

子组件中使用

setup() {
    // 定义一个常量接收 父/爷 传过来值
    const isSpinShow = inject("isSpinShow");

    return {
        isSpinShow,
    };
}
如果定义的数据只是局部使用,就不要通过 return 了

Tom_Li
26 声望2 粉丝

热爱学习,热爱总结,热爱广博知识