首页 > 其他 > 详细

父子组件间的传值

时间:2019-12-19 13:19:59      阅读:70      评论:0      收藏:0      [点我收藏+]

父子组件间通信

父组件-->子组件

1.父组件通过给子组件添加属性给子组件传值,子组件通过props来接受。

2但是要在属性前加“:”,即使用v-bind指令,才能使属性值是js代码,不然就是字符串。

3.单项输出流。即子组件不允许修改父组件传递的值,只能使用,不能修改。

父组件通过属性向子组件传值时,如果传递的是引用型的值,这时候子组件对父组件传递的值进行修改可能会影响其他子组件对这个引用类型值的使用。

解决办法:子组件在data项中新赋值父组件的变量,操作新的变量即可。

子组件-->父组件

通过事件this.$emit(‘方法名‘,参数)

父组件监听子组件传递的事件 @事件名

<body>
<div id="root">
<counter :count="3" @inc="handleIncrease"></counter>
<counter :count="2" @inc="handleIncrease"></counter>
<div>{{total}}</div>
</div>
<script>
var counter={
props:[‘count‘],
data:function(){
return {
number:this.count
}
},
template:‘<div @click="handleClick">{{number}}</div>‘,
methods:{
handleClick:function(){
this.number=this.number+2;
this.$emit(‘inc‘,2)

}
}
}

var vm=new Vue({
el:‘#root‘,
data:{
total:5
},
components:{
counter:counter
},
methods:{
handleIncrease:function(step){
this.total+=step
}

}
})
</script>

</body>

父子组件间的传值

原文:https://www.cnblogs.com/tengteng0520/p/12067048.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!