vue3基础知识
import {
reactive,
ref,
readonly,
isProxy,
isReactive,
isReadonly,
toRefs,
toRef,
computed,
watch,
watchEffect,
provide,
inject,
defineProps,
definEmit,
getCurrentInstance
} from "vue";
setup(props,{attrs,slots,emit}){
const props=defineProps({
message:{
type:String,
default:"111"
}
});
const app=getCurrentInstance().appContext.config.globalProperties
const emit=definEmit([event1,event2]);
emit("event1","1000")
const state=reactive({
counter:100,
isShow:true
});
let counter=ref(100);
const readonlyState=readonly(state);
const computedName=computed({
get:()=>{},
set:()=>{}
});
watchEffect(()=>{
},{
flush:'post'
})
watch(()=>{return {...state}}(newvalue,oldvalue)=>{
console.log(newvalue,oldvalue)
},{
deep:true,
immediate:true
})
const increment=()=>{
state.counter++;
counter.value++;
}
return{
state,
counter,
increment
}
}