1、子组件调用父组件方法
子组件this.triggerEvent('finish');
startShare(e) {
let url = config.apiUrl + "/business/lzShare/edit";
let data = this.data.currentData;
util.httpPut(url, data).then((res) => {
this.triggerEvent('finish');
console.log(res.result);
})
},
父组件监听
bind:finish="finishShare"
<view class="padding flex flex-col flex-space-between " >
<share bind:finish="finishShare" data="{{shareData}}" style="margin-top:40px"></share>
</view>
2、父组件调用子组件方法
父组件index.json引用子组件
父组件引用子组件,子组件设置id值
调用
this.selectComponent('#filedir')
saveMoveData(e) {
this.filedir = this.selectComponent('#filedir')
let url = config.apiUrl + "/business/lzDocs/changeDir";
let param = {id: this.data.selectData.id, parentId: this.filedir.getSelect().id}
util.httpPost(url, param).then((res) => {
this.loadData();
this.setData({showMove : false})
})
},
子组件的方法
// components/filedir/filedir.js
const icon = require('../../utils/icon.js');
Component({
/**
* 组件的属性列表
*/
properties: {
data:{}
},
observers: {
'data': function(newVal, oldVal) {
console.log("newVal====", newVal)
this.setData({currentData: newVal, dirData: newVal})
this.setData({navData: []})
}
},
/**
* 组件的初始数据
*/
data: {
navData:[],
currentData:[],
},
/**
* 组件的方法列表
*/
methods: {
getSelect() {
if (this.data.navData.length == 0) {
return null;
} else {
return this.data.navData[this.data.navData.length-1];
}
},
}
})