uni-app返回上一层页面后数据刷新重置

1.页面跳转后返回之前页面数据重置全部刷新了
这个问题很头疼,从a页面去b页面办了点事,回到a页面时之前的数据没了,页面重置了怎么办

把路由页面跳转时用的
uni.navigateTo({})             
改用
uni.navigateBack()
 /* 跳转详情页 */
 todetail(e) {
		var pages = getCurrentPages();// 获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。
		var prevPage = pages[pages.length - 2];  //上一个页面
		//prevPage.route获取上一页面的页面路径
		//条件编译
		console.log(1)
		//#ifdef H5 
		prevPage._data.aa= e.aa//h5中的修改方法
		prevPage._data.bb= e.bb//h5中的修改方法
		//#endif
		// #ifndef H5
		prevPage.$vm._data.aa= e.aa//小程序中的修改方法
		prevPage.$vm._data.bb= e.bb//小程序中的修改方法
		//#endif
		uni.navigateBack()//返回上一页面
     }

这个完美解决了页面自动刷新的问题,是自带的返回方法;

2.页面不刷新的问题了
这个简单,当你的数据发生变化后,页面视图如果没有随着改变只需要加上this.$forceUpdate()强制刷新页面

//请求接口返回后,强制刷新界面
  const result = await this.$request.baseRequest(opts, param);
   if (result.status == "000") {
		uni.hideLoading()
		this.dynamic = this.dynamic.concat(info)
		this.$forceUpdate()
	} else {
		uni.hideLoading()
         uni.showModal({
            content: result.msg,
            showCancel: false
      });
 }
},

猜你喜欢

转载自blog.csdn.net/weixin_44433499/article/details/115206388