https://www.cnblogs.com/qdjj/p/15196221.html
let pageList = {};
const utils = {
reloadCurrentPage: function(_self, isTab = true) {
// #ifdef APP-PLUS
var route = _self.$scope.route
var data = _self.$scope.options && _self.$scope.options.data
var url = '/' + route
if (data) {
url = '/' + route + '?data=' + data
}
var isRecovery = true;
let newTime = Date.now();
if (pageList[url]) {
const query = uni.createSelectorQuery().in(_self);
//这里select()中替换为自己的样式class名称
query.select('.container').fields({size:true}, data => {
isRecovery = false
}).exec();
setTimeout(() => {
if (isRecovery) {
//如果获取不到节点
//确保只刷新一次
if (newTime - pageList[url] > 3000) {
//超过3秒才重新刷新,这里设置几秒就行,目的是防止无限刷新
//因为刷新后页面肯定会出来,但是立马再次调用该方法不一定能获取节点
pageList[url] = newTime;
if (isTab) {
uni.reLaunch({
url
})
} else {
uni.redirectTo({
url
})
}
}
}
}, 600)
} else {
pageList[url] = newTime;
}
// if (plus.os.name === 'iOS') {
// }
// #endif
}
}