父传子
:参数='’参数 ''
<my-header :ischeckall="ischeckAll"></my-header>
“ischeckAll” 是父组件的数据 :ischeckall是子组件的接受的参数
子组件接受参数的方式 :
注意不放在data中 是放在data外面
props:["ischeckall"],
子传父
@自定义事件=“自定义事件”
父组件
<my-list :list="list" @calc="calc" @delListById="delListById"></my-list>
“自定义事件” 是父组件的事件 @自定义事件 是子组件用来接收的事件 并且子组件在接受的时候 可以调用父组件的事件 并且可以带参数来
子组件接受事件的方法 一般写在methods中
methods:{
add(item,num){
this.$emit("calc",item,num);
},
reduce(item,num){
this.$emit("calc",item,num);
},
del(id){
this.$emit("dellistbyid",id);
}
}
跨层级通讯
新建bus
let bus = new Vue();//一辆空的公交车
爷组件 bus.$on("事件名字",回调函数)
created() {
bus.$on("gotolist", () => { //window.addEventListener("click")
alert("有人要上车");
this.activeIndex = 2;
this.com = "list";
})
},
孙组件 bus.$emit("事件的名字") 调用爷组件的bus.$on中的回调函数
bus.$emit("gotolist");