【发布时间】:2022-01-26 16:57:09
【问题描述】:
我很好奇,在文档中找不到解释这种行为的地方
<script setup>
let formData = reactive({});
// Method to be called when there is an emitterUIUpdate event emitted
// from form-modal.vue @param(data) is the form data sent from the
// form submission via the event bus. It is in the form of an object.
// We will then send this data back
// down to child display-scrap component via a prop.
const updateUI = (data) => {
console.log("emitter for updateUI");
formData = data;
};
这里的 formData 不是响应式的,并且不能通过 prop 向下传递值给子级。 但这按预期工作
let formData = ref({});
const updateUI = (data) => {
console.log("emitter for updateUI");
formData.value = data;
console.log("App FormData is", formData.value);
};
现在 formData 是响应式的,并且可以将其作为道具传递。阅读文档,如果变量数据是一个对象,那么我应该没问题。我确实注意到如果我在第一个示例中将 formData 移动到全局范围,那么它将是被动的。谁能解释这种行为以及为什么我必须使用 ref() 来使我的示例工作?谢谢。
【问题讨论】:
标签: vuejs3 vue-composition-api