VUE 3的应用

composition api-组合式api

setup
  • 参数:

    props:因为props是响应式的,不可以解构,如果解构将失去响应式,如果需要解构 prop,可以通过使用 setup 函数中的 toRefs 来完成此操作

    import { toRefs } from 'vue'
    
    setup(props) {
    	const { title } = toRefs(props)
    
    	console.log(title.value)
    }
    

    context:是一个普通的js对象,{attrs, slots, emit},所以可以去解构

    export default {
      setup(props, context) {
        // Attribute (有状态、非响应式对象,不要解构)
        console.log(context.attrs)
    
        // 插槽 (有状态、非响应式对象,不要解构)
        console.log(context.slots)
    
        // 触发事件 (方法)
        console.log(context.emit)
      }
    }
    
  • 访问组件的属性

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

    • props
    • attrs
    • slots
    • emit

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

    • data
    • computed
    • methods
  • 结合模板使用

    返回的对象,可以在template里直接使用

  • this:没有this

reactive

将普通对象包装成可响应式

ref函数

生成响应式ref变量对象=>创建了一个响应式引用,并且拥有一个value属性,该变量的值放在value属性上面

// 生成
let name = ref('test')
// 在setup函数中返回该变量
// 模板中使用
{{name}}
// 修改变量值
name.value = 'world' // 注意一定是修改value属性
toRefs函数
生命周期钩子

在setup中使用的钩子函数

选项式 APIHook inside setup
beforeCreateNot needed*
createdNot needed*
beforeMountonBeforeMount
mountedonMounted
beforeUpdateonBeforeUpdate
updatedonUpdated
beforeUnmountonBeforeUnmount
unmountedonUnmounted
errorCapturedonErrorCaptured
renderTrackedonRenderTracked
renderTriggeredonRenderTriggered
watch
import { ref, watch } from 'vue'
// 例子
const counter = ref(0)
watch(counter, (newValue, oldValue) => {
  console.log('The new counter value is: ' + counter.value)
})

// 语法
watch(一个响应式引用或者想要监听的getter,回调函数,配置选项)
computed
let cName = computed(_ => {
	return name.value+' computed'
})

点我,VUE 3官网

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值