效果预览
model 选项的语法
- 每个组件上只能有一个 v-model。
- v-model 默认会占用名为 value 的 prop 和名为 input 的事件,即 model 选项的默认值为
model: {prop: "value",event: "input",},
- 通过修改 model 选项,即可自定义v-model 的 prop 和 event
演示代码
父组件 father.vue
<template><div style="margin: 30px"><p style="margin: 30px">{{ msg }}</p><Child v-model="msg" /></div>
</template><script>
import Child from "./child.vue";
export default {components: {Child,},data() {return {msg: "你好",};},
};
</script>
子组件 child.vue
<template><div><input type="text" @input="chang_parentMsg" :value="parentMsg" /></div>
</template><script>
export default {model: {prop: "parentMsg",event: "chang_parentMsg",},props: {parentMsg: String,},methods: {chang_parentMsg(e) {this.$emit("chang_parentMsg", e.target.value);},},
};
</script>