vue3新特性拾遗
总结了vue3中的新特性,并且记录了一些vue3中很容易忘记的一些caveats:
- vue3中的watch有所不同,默认是深度监视,而且想要紧紧件事某个对象属性,则应该这么做
<template>
<button @click="change">count is: {{ state.count }}</button>
</template>
<script>
import { reactive, watch } from 'vue'
export default {
setup () {
let state = reactive({count: 0})
let change = () => state.count++;
watch(() => state.count, (oldVlaue, newValue) => {
console.log(oldVlaue, newValue, '改变')
})
return { state, change }
}
}
</script>
注意两个参数都是回调函数。如果state.count是一个object或者是array,那么还要传入第三个参数:{deep: true}