vue3的小知识

Posted 羽玉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue3的小知识相关的知识,希望对你有一定的参考价值。

一、组合式Api

1、简介

组合式Api需要有个实际使用它的地方,这个位置称为setup。

2、组件代码结构

export default {
  components: { RepositoriesFilters },
  props: {
    user: { 
      type: String
    }
  },
  data () {
    return {
      test: \'\'
    }
  },
  computed: {},
  watch: {},
  methods: {},
  mounted() {},
  created() {}

二、setup

1、参数

setup接收两个参数propscontext

props

setup函数中的第一个参数props,props是响应式的,每当传入新的props,都将会被更新

export default {
  props: {
    title: String
  },
  setup(props) {
    console.log(props.title)
  }
}

ps:props是响应式的,不能使用es6解构赋值

如果需要结构props的话,可以使用toRefs来操作

import {toRefs} from \'vue\'
export default {
  props: {
    title: String
  },
  setup(props) {
    const {title} = toRefs(props)
    console.log(title.value)
  }
}

context

context是第二个参数,非响应式的,暴露三个属性

export default {
  setup(props, context) {
    // Attribute (非响应式对象)
    console.log(context.attrs)

    // 插槽 (非响应式对象)
    console.log(context.slots)

    // 触发事件 (方法)
    console.log(context.emit)
    
  }
 // 解构
 setup(props, {attrs,slots,emit}) {}
}

访问组件property

setup执行的时候,组件还未被创建,因此只能访问props、attrs、slots、emit
不能访问data、computed、methods

以上是关于vue3的小知识的主要内容,如果未能解决你的问题,请参考以下文章

Vue3基础知识总结

Vue3基础知识总结

Vue3官网-高级指南(十七)响应式计算`computed`和侦听`watchEffect`(onTrackonTriggeronInvalidate副作用的刷新时机`watch` pre)(代码片段

记录--Vue3+TS(uniapp)手撸一个聊天页面

vue3中的fragment(片段)组件

vue3中一些不兼容的小改变