Vue 3 - 我可以避免在任何地方使用 .value 吗?

Vue 3 - can i avoid using .value everywhere?

我是 Vue 3 的新手,我很难理解组合的一些概念 API。 我正在尝试将我正在使用的库从 vue 2 移植到 vue 3,并在父元素中将名为 layout 的反应式 属性 传递给子组件。

所以在父组件中,我将 layout 返回给子组件,如下所示:

setup(props){
    const layout = ref({'width': 10, ... })
    return {
        layout,
        ...
    }
}

问题是,为了从任何子组件访问 widthlayout 中的任何其他反应值,我需要使用语法 layout.value.width。这是一个很大的问题,因为在整个项目中 layoutlayout.width 引用,这意味着我需要在每个对 layout 的引用中添加一个 .value 并执行相同的操作对于我传递给我的子组件的所有其他反应变量。有什么方法可以避免这种情况,或者我只是没有从作文中得到一些重要的概念 api?

至少有两种方式:

  1. 是的。您可以在没有 .value 的情况下工作。你必须使用 vue experimental version

  1. 您可以创建一个 reactive 变量,例如:
<script setup>
import { reactive } from 'vue'

const layout = reactive({'width': 10, ... })
</script>