通过在父页面中使用selectComponent来调用子组件的方法来实现
1、在component中配置好方法
子页面homePage/index/index.js
var total = 0
var pageNo = 1
const pageSize = 20
Component({
properties: {},
lifetimes: {
created: function () {
},
attached: function () {
setTimeout(() => {
this.getProfessorQuestionList('fresh')
}, 0)
},
},
data: {
questionList:[]
},
methods: {
loadData(action) {
if (action == 'fresh') {
pageNo = 1
}
if (action == 'more') {
if (pageNo * pageSize < total) {
pageNo++
this.getProfessorQuestionList('more')
}
} else {
this.getProfessorQuestionList('fresh')
}
},
getProfessorQuestionList(type) {
wx.showLoading({
title: '加载中',
mask: true
})
httpUtils.post({
url: url,
data: {
page: pageNo,
pageSize: pageSize,
}
}).then(res => {
wx.hideLoading()
total = res.page.total;
let questionList = stringUtils.isNull(res.list) ? [] : res.list;
if (type == 'fresh') {
this.setData({
questionList: questionList
})
} else {
this.setData({
questionList: this.data.questionList.concat(questionList)
})
}
}).finally(() => {
wx.hideLoading()
this.setData({
noData:this.data.questionList.length? true:false
})
})
},
}
})
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
2、在父页面使用selectComponent来调用子组件的方法
父页面page/index/index.json
{
"usingComponents": {
"homePage": "../../homePage/index/index",
},
"navigationStyle": "custom"
}
父页面page/index/index.wxml
<homePage id="homePage" />
父页面page/index/index.js
Page({
data: {
homePage: ''
},
onReady() {
this.setData({
homePage: this.selectComponent("#homePage"),
})
},
onPullDownRefresh() {
this.data.homePage.loadData('fresh')
},
onReachBottom() {
this.data.homePage.loadData('more')
},
})
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24