uniapp返回上一页并刷新
在uniapp项目中内页面跳转有需求返回到上一页并刷新的操作,下面直接上代码。
let pages = getCurrentPages(); // 当前页面let beforePage = pages[pages.length - 2]; // 上一页uni.navigateBack({ success: function() { beforePage.onLoad(); // 执行上一页的onLoad里面的方法方法 }});解析:
在uniapp 中 getCurrentPages() 方法获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。
pages[pages.length - 1],为当前页。(因为数组下标从0开始,所以需要减1)
let beforePage = pages[pages.length - 2],为获取上一页。
uni.navigateBack() 为返回上一页。
beforePage.onLoad()为调用上一页的onLoad方法。
上面代码的含义为:当返回上一页的方法执行成功后,调用上一页的onLoad方法。
注意:上面方法报错试一下下面的方法:
let pages = getCurrentPages(); uni.navigateBack({ delta: 1, success() { //pages.length-1 即最后一个为当前页,所以取当前页面的上一级 pages[pages.length - 2].$vm.init(); // init 是上一个页面的方法名称 } })