1. Le temps d'exécution de la configuration est antérieur à avantCréer l'exécution
export default { name: "Demo", beforeCreate(){ console.log('beforeCreate已执行'); }, setup() { console.log('setup已执行'); let person = reactive({ name: "小明", age: 20, }); return { person, }; }, };
2.context : objet de contexte
export default { name: "Demo", props:['msg','age'], setup(props) { console.log(props); let person = reactive({ name: "小明", age: 20, }); return { person, }; }, };
this.$attrs
<template v-slot:qwe> <span>123</span> </template> <template v-slot:ewq> <span>321</span> </template>
②slots: 收到的插槽内容,相当于 this.$slots
。
在App中定义插槽
console.log(context.slots); // 得到插槽
在子组件中获取到插槽
<Demo @hi="Hello" msg="山鱼" age=10> </Demo>
③emit: 分发自定义事件的函数,相当于 this.$emit
this.$slots
. Définissez l'emplacement dans l'application
setup() { function Hello(){ console.log('你好!'); } return { Hello } }
function point(){ context.emit('hi',666) } 5TgxPT2v-1681788304084)] ```js function point(){ context.emit('hi',666) }
③emit : Une fonction qui distribue des événements personnalisés, équivalente à this.$emit
.
import { reactive,computed} from "vue"; export default { name: "Demo", setup() { let person = reactive({ firstName: "小", lastName: "明", }); // 计算属性的简写形式,不考虑修改,是只读的 /*person.fullName= computed(()=>{ return person.firstName+'-'+person.lastName }) */ // 计算属性的完整形式(可以读改) person.fullName= computed({ get(){ return person.firstName +'-'+person.lastName }, set(value){ const arr = value.split('-') person.firstName = arr[0] person.lastName = arr[1] } }) return { person, }; }, };
watch(sum, (newvalue, oldvalue) => { console.log('当前值为'+newvalue, '以前值为'+oldvalue); });
watch([sum,msg], (newvalue, oldvalue) => { console.log('当前值为'+newvalue, '以前值为'+oldvalue); });
watch(person,(newValue, oldValue) => { console.log('person变化了',newValue,oldValue) })
Les trois paramètres de la montre sont l'objet surveillé, la fonction surveillée et la configuration de l'attribut surveillé.
Surveiller les données définies par ref①Surveiller l'attribut pour surveiller une valeur réactive de ref
watch(()=>person.name,(newValue,oldValue)=>{ console.log('person.name发生了变化',newValue,oldValue) })
②Surveiller plusieurs données réactives définies par ref
watch([()=>{person.age},()=>{person.name}],(newValue,oldValue)=>{ console.log('person.name发生了变化',newValue,oldValue) })
Surveiller les données définies par reactive
①Surveiller réactif définition Modifications des données
Les données définies à l'aide de réactif ne peuvent pas obtenir correctement la nouvelle valeur à l'aide de watch🎜🎜🎜, et une surveillance approfondie sera forcée d'ouvrir🎜🎜watch(()=>person.job,(newValue,oldValue)=>{ console.log('person.name发生了变化',newValue,oldValue) }, {deep: true})
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!