vue3.0组件数据定义

1. 定义

维护单一功能,可复用的单个个体。

2. 结构




其中scoped,只在当前组件生效。

3. 定义组件

//从vue中导入定义组件的方法,就是defineComponent
import { defineComponent,reactive } from 'vue'
//ES6导出模块,defineComponent方法,内部是一个对象。
export default defineComponent({
  name:"Home",//定义组件的名称
  //接收父组件的数据
  props:{
  },
  //定义子组件
  component:{
  },
  //setup函数,
  setup(props,ctx) {
    return {
    }
})

4. 定义单个数据ref

(1)引入

import { defineComponent,reactive,ref } from 'vue'

(2) 定义数据并初始化

  setup(props,ctx) {
  let num = ref(10);
  let name = ref('wuning');  
  return {
    }

(3) 暴漏出去

  setup(props,ctx) {
  let num = ref(10);
  let name = ref('wuning');  
  let arr = ref([1,2,3])//定义数组,并初始化
  let obj = ref({
    age:20,
  })//定义对象
  return {
    num,//es6简写方式
    name,
    arr,
    obj
  }

(4)使用方法---插值表达式

{{name}} {{num}}

5. 定义方法

vue3中已经没有method对象了。使用声明式定义一个函数。ES6中的知识。
(1) 定义

setup(props,ctx) {
  //定义数据,并初始化
  let num = ref(10)
  let data = reactive({name:"wuning"})
  //定义方法
  let add=()=>{
    //访问ref定义的数据,需用num.value的形式拿到。
    //访问reactive定义的数据使用,data.name
  }
  //暴漏出去
  return {
    ...toRef(data),
    num,
    add
  }
}

数据和方法都是在setup中定义的,然后通过export导出模块。
(2)方法之间的调用
方法之间的调用,必须先定义在被调用,被掉用的函数要在调用的函数之前。

你可能感兴趣的:(vue3.0组件数据定义)