组件通讯(小程序端)
小程序端:
父组件调用子组件方法:
this.**selectComponent**('\#search').listByTag(); //listByTag是子组件methods里定义的方法
父组件调用子组件属性:
let refresh =this.**selectComponent**('\#search').data.isRefresh //isRefresh 是子组件data里定义的属性
父组件引入子组件:
.json文件引入子组件
{
"usingComponents": {
"search": "/components/search/search"
}
}
.wxml文件使用子组件
<search id="search"></search>
子组件调用父组件方法:
子组件的onload写:
this.triggerEvent("callSomeFun");
父组件写:
<search bind:callSomeFun="onLoad"></search>
子组件获取父组件的属性
子组件
properties: {
product: {
type: String,
value:''
}
},
父组件
<search product='123'></search>
兄弟组件通信:
子组件A传值给子组件B。父组件可以先获取子组件A的值,父组件再将获取到的值传给子组件B
子组件A使用triggerEvent自定义事件名称callSomeFun。父组件在onload用 this.selectComponent(‘#search’).listByTag()获取调用子组件B方法
父组件写:
利用同一个父组件是可以达到兄弟组件的传值,但是如果有很多的值需要传递这种方式就不是特别适用(可以用缓存)
还没有评论,来说两句吧...