说是传递参数,实际是在你返回之前先修改了上一页的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