vue自定义组件使用v-model实现双向数据绑定
dearweb 发布:2021-08-08 18:18:11阅读:默认情况下,组件上的v-model使用modelValue 作为props和update:modelValue作为事件。我们通过向v-model传递参数来修改这些名称
父组件代码
在本例子中,子组件将需要一个foo props并发出update:foo要同步的事件:
<template> <HelloWorld @submit="doLogin" :foo="bar"></HelloWorld> </template> <script> import HelloWorld from './components/HelloWorld.vue' export default { name: 'App', components: { HelloWorld }, data(){ return{ bar:'', } }, methods: { doLogin(e){ console.log('--',e) } }, } </script> <style> </style>
子组件代码
<template> <div class="hello"> <h2>登陆组件</h2> <input type="text" v-model="username"> <input type="text" v-model="password"> <button @click="doLogin">执行登陆</button> <div> <input type="text" placeholder="请输入内容" :value="foo" @input="$emit('update:foo',$event.target.value)"> <!--foo 与props接收的名字一样--> </div> </div> </template> <script> export default { name: 'HelloWorld', props: { foo:String }, data(){ return { } }, methods: { }, } </script> <style scoped> </style>上面就是vue自定义组件使用v-model实现双向数据绑定的基本方法。
小礼物走一波,支持作者
赏还没有人赞赏,支持一波吧