Vue自定义组件之v-model的使用
自定义组件之v-model的使用
v-model的语法糖可以为下面v-bind && @input联合完成:
<input v-model="text">
<!-- 以上相当于如下写法 -->
<input :value="text" @input="text=$event.target.value">
父子组件通信的时候,可在父组件的孩子组件上面使用v-model,默认触发子组件指定的event和prop接受参数
父组件:
<template>
<div id="father">
<p>{{ text }}</p>
<child v-model="text"></child>
</div>
</template>
<script>
import child from "./child.vue";
export default {
name: "father",
components: { child },
data: function () {
return {
text: "我是父组件",
};
}
}
</script>
<style lang="less" scoped></style>
子组件:
<template>
<div id="child">
<p>{{ msg }}</p>
<button @click="btnClick">点击改变父组件内容</button>
</div>
</template>
<script>
export default {
name: 'child',
model: {
prop: "msg",
event: "respond",
},
props: {
msg: {
type: String,
},
},
methods: {
btnClick() {
this.$emit("respond", "我是子组件");
},
},
};
</script>
<style lang="less" scoped></style>
注意:在组件上使用v-mode时,其被使用组件上应该有个model对象配置,用于接受v-model传递过来的信息,它有两个属性,prop是要指定传过来的属性接收参数,event是v-model时要指定绑定的事件名(由当前被使用组件定义)。
以上example中父组件上的 v-model 会把 msg用作 prop 且把 respond用作 event。这样就可以实现父子组件之间的通信,子组件可以拿到父组件传过来的值,子组件也可以更改值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)