说是传递参数,实际是在你返回之前先修改了上一页的data里面的数据再进行返回上一页的操作。

// 获取所有页面栈实例列表
let pages = getCurrentPages();  
// 当前页页面实例
let nowPage = pages[ pages.length - 1]; 
// 上一页页面实例
let prevPage = pages[ pages.length - 2 ];  
// 修改上一页data里面的times参数值为100
prevPage.$vm.times = 100;   
//uni.navigateTo跳转的返回,默认1为返回上一级
uni.navigateBack({  
    delta: 1
});

getCurrentPages()

getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。

注意: getCurrentPages()仅用于展示页面栈的情况,请勿修改页面栈,以免造成页面状态错误。

每个页面实例的方法属性列表:

方法 描述 平台说明
page.$getAppWebview() 获取当前页面的webview对象实例 App
page.route 获取当前页面的路由 -

$getAppWebview()

uni-app 在 getCurrentPages()获得的页面里内置了一个方法 $getAppWebview() 可以得到当前webview的对象实例,从而实现对 webview 更强大的控制。在 html5Plus 中,plus.webview具有强大的控制能力,可参考:WebviewObject (opens new window)。
但uni-app框架有自己的窗口管理机制,请不要自己创建和销毁webview,如有需求覆盖子窗体上去,请使用原生子窗体subNvue。

注意:此方法仅 App-Vue 支持

官方文档:https://uniapp.dcloud.net.cn/api/window/window.html#getcurrentpages

发表回复