uni-app小程序uni.navigateBack返回上一个页面并传递参数.返回上个页面并刷新

news/2024/7/20 3:01:36 标签: uni-app, 小程序, javascript

返回上一个打开的页面并传递一个参数。有种办法就是使用

假如从B页面返回A页面:

var pages = getCurrentPages();
var prevPage = pages[pages.length - 2]; //上一个页面
prevPage.setData({
mdata:1
})

经过测试,在uni.app中使用B页面使用setData设置A页面参数无法实现(应该是被更改为常量属性了)。
打印console.log(prevPage)前一页面对象可得:

在这里插入图片描述

方法1:我们可以使用A页面原有方法
B页面传递:

var object={
sx1:"参数1",
sx2:"参数2",
}
prevPage.onShow(object);
uni.navigateBack();

A页面接收参数:

onShow(object){
if(!!object){
console.log(object)
}
}

方法2:A页面自定义方法接收参数

B页面传递:

var object={
sx1:"参数1",
sx2:"参数2",
}
prevPage.$vm.otherFun(object);//重点$vm
uni.navigateBack();

A页面接收参数:

otherFun(object){
if(!!object){
console.log(object)
}
}

如果使用uni.navigateBack该怎么传值呢

uni. e m i t ( ) 传值和 u n i . emit()传值和uni. emit()传值和uni.on()接收

B页面返回A页面
B页面:

javascript">uni.$emit('update',{msg:'页面更新'})

uni.navigateBack({
delta: 1
});

A页面:

javascript">onShow(){
uni.$on('update', function(e){
console.log('监听到事件来自 update ,携带参数 msg 为:'+e)
})
},
  • 注意接收的写在onShow里面。写在onload是不会执行的。

返回上个页面让他重新执行onLoad里面的方法:(这种方法不适用于传递参数的页面,因为返回的时候那个option是获取不到的)

javascript"> uni.navigateBack({
                            delta: 2,
                            success: () => {
                                let page = getCurrentPages().pop(); //跳转页面成功之后
                                if (page) {
                                    let e = {};
                                    page.onLoad(e); //执行上个页面的方法

                                }
                            }

                        })

http://www.niftyadmin.cn/n/341787.html

相关文章

计算机图形学 | 实验十:几何纹理(法线贴图)

计算机图形学 | 实验十:几何纹理(法线贴图) 计算机图形学 | 实验十:几何纹理(法线贴图)什么是法线贴图为什么需要切线空间加载法线贴图引入切线空间结果 华中科技大学《计算机图形学》课程 MOOC地址&#…

C语言两百行代码实现简易扫雷

文章目录 前言一.代码实现二.设计思路main()函数搭建框架reset ( )函数dis_play( )函数setmine( )函数player_move( )函数 前言 扫雷应该是我们接触到的第一个电脑游戏,用c语言实现扫雷对初学者来说是一个不错的锻炼 编写扫雷只需要用到数组、函数和生成随机数的知…

纯手写pyqt界面

from PyQt5.Qt import * import loggingclass Ui(QWidget):def __init__(self):super().__init__()self.ui()def ui(self):self.label_list [self.__creat_label() for _ in range(10)] #创建10个标签self.btn_list [self.__creat_buttons(objnamefbtn-{i},textfbutton-{i})…

南京邮电大学算法与设计实验四:回溯法(最全最新,与题目要求一致)

要求用回溯法求解8-皇后问题,使放置在8*8棋盘上的8个皇后彼此不受攻击,即:任何两个皇后都不在同一行、同一列或同一斜线上。请输出8皇后问题的所有可行解。 用回溯法编写一个递归程序解决如下装载问题:有n个集装箱要装上2艘载重分…

Java学习笔记-04

目录 静态成员 mian方法 多态 抽象类 接口 内部类 成员内部类 静态内部类 方法内部类 匿名内部类 静态成员 static关键字可以修饰成员方法,成员变量被static修饰的成员,成员变量就变成了静态变量,成员方法就变成了静态方法static修…

产品经理被气的脸都绿了!

见字如面,我是军哥! 本来今天不想发文了,想躺平一下,毕竟今天周五了嘛。 可是今天早上一位买了我《技术人核心能力》的程序员学员发来私信,说他给产品经理上了一课,声称产品经理当时脸都绿了,并…

堆的概念和算法

1.基本概念 1.1 满二叉树 满二叉树是指的是除了最后一层外,其他节点都有两个孩子,而最后一层都是叶子节点。 1.2 完全二叉树 满二叉树是完全二叉树,但完全二叉树不要去最后一层是满的,完全二叉树要求所有节点从左到右连续&#x…

pandas 笔记:Drop_duplicates

1 方法介绍 去除Pandas中的重复列 DataFrame.drop_duplicates(subsetNone, *,keepfirst, inplaceFalse, ignore_indexFalse) 2 参数说明 subset 只考虑subset中提到的这些列是不是重复的,其他列重复也不用考虑 默认:所有列 keep 决定重复的那些行怎…