首页/ 填坑/ 文章详情

uni-app 返回刷新页面数据

在前面介绍uni-app章节中,讲述微信小程序其实是个换「马甲」玩意。熟悉的味道,一样的配方。发开uni-app是可以直接沿用微信小程序的代码。

高效、有序的开发新的uni-app的项目,让人忽略uni-app并不是真正的微信小程序,容易犯经验主义的错误。uni-app 返回刷新页面数据正面临这样的错误,而这个错误居然堂而皇之出现在网络上。

uni-app 返回刷新页面数据 - 错误版:

JSvar pages = getCurrentPages(); //当前页面
var beforePage = pages[pages.length - 2]; //前一页

uni.navigateBack({
    success: function () {
        beforePage.onLoad();  // 执行前一个页面的onLoad方法
    }
});

在执行页面返回刷新,Console会报以下错误:

Console[system] TypeError: beforePage.onLoad is not a function

报错提示onload函数不存在,这点与微信小程序就不一样了。通过console.log(beforePage)直接观察可调用的函数,发现可以调用methods下的函数,于是自定义一个刷新的onRefresh函数,调用该函数刷新页面的数据。

页面的脚本代码:

JSexport default {
    data() {
        return {
            data:[]
        }
    },
    onLoad(options) {
        this.onRefresh(options)
    },
    methods: {
        onRefresh(options) { // 运行程序
           //do something...
        }
    }
} 

uni-app 返回刷新页面数据 - 正确版:

JSvar pages = getCurrentPages(); //当前页面
var beforePage = pages[pages.length - 2]; //前一页
var options = beforePage.options; //链接参数,object类型

uni.navigateBack({
    success: function () {
        beforePage.onRefresh(options);  
    }
});

实践出真知,不要沉迷经验主义,更不恐怕遇到困难。网上的教程也不一定是错的,uni-app在发展,新的技术取代旧的技术,只是你成了首个吃螃蟹的人。

文章评论0 records

最新 最早

0

最新评论Latest comments

凡心的仙人凡心的仙人 03-18 14:35
谢谢你了!
rantrismrantrism 2023-04-03 11:27
您好~我是腾讯云开发者社区运营,关注了您分享的技术文章,觉得内容很棒,我们诚挚邀请您加入腾讯云自媒体分享计划。完整福利和申请地址请见:https://cloud.tencent.com/developer/support-plan 作者申
唐牛才是食神唐牛才是食神 2022-06-15 10:51
(*°▽°*)八(*°▽°*)♪,解决了
唐牛才是食神唐牛才是食神 2022-06-15 10:49
发现不得了的东西,今晚回去好好研究下...
胖螺胖螺 2022-02-04 00:58
( ゜- ゜)つロ 在写了在写了。看到也有些感慨。因为站长前年在我原博客的留言,让我毅然选择去深造,选择读研,曾经我想过挺多东西的,还是自己本专业的适合我自己。在这先表达感谢。新年快乐!