vue3.js
总结: 此处涉及的vue3新特性<br /> 1, 父子组件双向绑定, 子组件中props定义的属性名可自定义, 把属性名用冒号拼接到v-model后, 父组件的数据方可正常传入子组件<br /> 2, 父子组件双向绑定, 子组件发射的事件名必须是update事件, update后用冒号拼接需要更新的props属性名, 父组件方可正常接收子组件发射的数据
<body>
<script src='./vue3.js'></script>
<div id='myApp'>
父组件: <input type="text" v-model="msg"> {{msg}}
<hr>
<!-- vue3双向绑定v-model后添加冒号指定props属性(属性名时props中声明的)-->
子组件: <my-com v-model:title="msg"></my-com>
</div>
<template id="com">
<input type="text" :value="title" @input="childChange">
</template>
<script>
var myCom = {
template: "#com",
props: ['title'],
emits: ["update:title"],
setup(props, { emit }) {
function childChange(e){
emit("update:title", e.target.value)
}
return{
childChange
}
}
}
var vm = {
components:{
myCom
},
setup() {
var msg = Vue.ref("")
return {
msg
}
}
}
Vue.createApp(vm).mount('#myApp')
</script>
</body>