uni-app返回页面修改前一个页面的数据 h5/APP/小程序

   var pages=getCurrentPages(), prevPage=null;
   if(pages.length>1){
       prevPage=pages[pages.length-2];
   }
   if(prevPage){
       // #ifdef H5
			prevPage.customerSource=that.source[that.curIndex];
		// #endif
		// #ifdef APP-PLUS || MP-WEIXIN
			prevPage.setData({
				customerSource : that.source[that.curIndex]
			})
		// #endif
   }
   uni.navigateBack();

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
uni-app中,可以使用 `vue-router` 来实现H5右滑返回上一个页面而不是退出页面的功能。具体来说,你需要在 `vue-router` 中配置 `routes` 时,将 `meta` 字段中的 `keepAlive` 属性设置为 `true`,表示需要缓存页面状态,这样在返回上一个页面时就不会重新加载页面。 下面是一个简单的示例代码: ```javascript import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'home', component: () => import('@/views/Home'), meta: { keepAlive: true // 缓存页面状态 } }, { path: '/detail', name: 'detail', component: () => import('@/views/Detail'), meta: { keepAlive: true // 缓存页面状态 } } ] }) ``` 在上面的代码中,我们使用 `meta` 字段来配置页面的一些属性,其中 `keepAlive` 属性为 `true` 表示需要缓存页面状态。在页面中,你可以通过监听 `beforeRouteLeave` 钩子来实现右滑返回的功能。 下面是一个简单的示例代码: ```javascript export default { name: 'Detail', beforeRouteLeave(to, from, next) { if (from.name === 'home') { history.pushState(null, null, document.URL) // 将当状态推入历史记录栈 } next() } } ``` 在上面的代码中,我们通过监听 `beforeRouteLeave` 钩子来实现在离开当页面时将当状态推入历史记录栈的功能,这样在右滑返回时就会返回一个页面,而不是退出页面。需要注意的是,我们通过判断 `from.name` 来确定是否从一个页面返回,如果是从其他页面返回则不执行推入历史记录栈的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值