最近用uniapp开发小程序就遇到了个神坑,当前项目需求是点击投票之后在重新请求获取接口最新数据,刷新当前页面,

在这里插入图片描述
然而我用了微信原生方法,在点击投票后调用this.onload()钩子函数,发现报错 this.onload not is functions ,刚开始我要以为是this指向问题,后来发现,uniapp在编译打包成小程序代码后,onload是不兼容的,所以就无法调用onload
在这里插入图片描述
于是我仔细分析后,想出了一个办法 ,
1,先在data定义一个变量 作为函数名
data(){
return{
fun:new Function()
}
}
2,在onload中 用刚才的变量嵌套所有请求的函数
在这里插入图片描述
3,在onload最后调用这个函数 初始化所有数据, 如果需要保存参数,也需要在data中定义一个变量接收options的路由参数

4在点击投票后直接用this.fun()调用封装在onload里面的fun函数

在这里插入图片描述
再次点击投票后 ,接口和页面都重新加载 数据也重新渲染
在这里插入图片描述

如果想实现下拉刷新 方法一样 。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐