返回列表 发帖

#访问组件的 property

执行 setup 时,组件实例尚未被创建。因此,你只能访问以下 property:

props
attrs
slots
emit
换句话说,你将无法访问以下组件选项:

data
computed
methods
#结合模板使用
如果 setup 返回一个对象,则可以在组件的模板中像传递给 setup 的 props property 一样访问该对象的 property:

<!-- MyBook.vue -->
<template>
  <div>{{ readersNumber }} {{ book.title }}</div>
</template>
<script>
  import { ref, reactive } from 'vue'
  export default {
    setup() {
      const readersNumber = ref(0)
      const book = reactive({ title: 'Vue 3 Guide' })
      // expose to template
      return {
        readersNumber,
        book
      }
    }
  }
</script>
注意,从 setup 返回的 refs 在模板中访问时是被自动解开的,因此不应在模板中使用 .value。

返回列表