setup的运用和意义
使用setup函数
- setup可以返回一个数据对象
 - 要实现数据的响应式更新,需要返回ref对象
 - ref对象的有
ref,reactive,computed - setup只会执行一次
 
import {
  defineComponent,
  PropType,
  ref,
  reactive,
  computed,
  watchEffect,
} from "vue"
export default defineComponent({
  name: "App",
  setup(props, { slots, attrs, emit }) {
    let nameRef = ref("xiaohei")
    let personRef = reactive({ sex: 1, hair: true })
    let goRef = computed(() => {
      return nameRef.value + " go"
    })
    //当函数中的ref变化时,执行这个函数
    watchEffect(() => {
      console.log(nameRef.value)
    })
    return {
      nameRef,
      personRef,
      goRef,
    }
  },
})
使用ref对象
- 在vue的setup以外的其他地方访问ref对象时,不用加.value
 
<template>
    {{ nameRef }} //不用.value访问
</template>
  mounted() {
    this.nameRef //不用.value访问
  }