Vue 父子组件的双向数据传递

html
<div id="father">
			<p @click="change">{{bar}}</p>
			<child-comp  :message.sync="bar"  >
				
			</child-cmp>
			
		</div>
js
Vue.component("childComp",{
		props:['message'],
		template:'<input @input="$emit(\'update:message\',$event.target.value);" v-bind:value="message"> '
	})
	new Vue({
		el:'#father',
		data:{
			count:0,
			bar:'hhhhhhh'
		}

	})

**利用v-model 来双向绑定 **

html
		<div id="father">
			<p>{{loveVue}}</p>
				<base-checkbox v-model ="loveVue"></base-checkbox>
		</div>
js
Vue.component("base-checkbox",{
		model:{
			prop:'checked',
			event:'changeS'
		},
		props:{
			checked:Boolean
		},
		template:'<input type="checkbox" v-bind:checked="checked" v-on:change="$emit(\'changeS\',$event.target.checked)">'
	})
	new Vue({
		el:'#father',
		data:{
			loveVue:true,
		}
	})

.sync

html
<div id="father">
			<p >{{name}}</p>
			<show-name :value.sync="name">
				<show-name v-bind:value="name" v-on:update:value="update">
			</show-name>
		</div>

js
Vue.component("show-name",{
		props:{
			name:String
		},
		template:'<input type="text"   v-on:input="$emit(\'update:value\',$event.target.value)" >'
	})
	new Vue({
		el:'#father',
		data:{
			name:"gaojl"
		},
		methods:{
			update:function(e){
			this.name = e;
		}
		}
		

	})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值