vue3+ts reactive自动解包ref 后 再次赋值ts总是提示类型错误?

  const a = ref(1)

const b = reactive({

a

})

b.a=2 //这行会提示不能将类型“number”分配给类型“Ref<number>”。ts(2322)

// const b: {

// a: globalThis.Ref<number>;

//}


回答:

方法一:

const a = ref(1);

const b = reactive({

a: a.value // 将`a`的值赋给`b.a`,而不是`ref`本身

});

b.a = 2; // 现在你可以直接向`b.a`赋新值

方法二:

const a = ref(1);

const b = reactive({

a: computed({

get: () => a.value,

set: val => a.value = val

})

});

b.a = 2; // 这将同时修改 `b.a` 和 `a.value`


回答:

为什么有这样写 正常写不就好了吗

以上是 vue3+ts reactive自动解包ref 后 再次赋值ts总是提示类型错误? 的全部内容, 来源链接: utcz.com/p/934505.html

回到顶部