数据库update后需要commit吗(uni.navigateBack返回上一个页面并传递参数)
需求:从A.vue 页面跳转到B页面,从B页面uni.navigateBack 返回到A,并传递参数。
1、第一种方法
//B.vue 页面
// 获取页面栈
let pages = getCurrentPages()
// 获取上一页栈
let prevPage = pages[ pages.length - 2 ]
//**** 触发上一页的 upData 函数(并携带参数)
prevPage.$vm.upData(this.token);//把token传递过去
// 返回上一页
uni.navigateBack({
delta: 1 //返回的页面数,如果delta大于现有页面数,则返回到首页
}); //返回
getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。
注意: getCurrentPages()仅用于展示页面栈的情况,请勿修改页面栈,以免造成页面状态错误。
官网介绍页面和窗体链接:https://uniapp.dcloud.io/api/window/window
//A.vue 页面
//***会触发 A页面中的upData方法
upData: function(msg)
{
console.log(msg);//msg是从B页面传递过来的参数token
this.token=msg; //可以操作自己的业务逻辑
},
uni-app官网介绍链接:https://uniapp.dcloud.io/api/window/communication
//B页面
uni.$emit('update',{msg:this.token,title:'is芳芳呀'})
uni.navigateBack({
delta: 1
});
// A页面
//注意接收的要写在onShow()里面。写在onload是不会执行的。
onShow(){
uni.$on('update', function(e){
console.log('监听到事件来自 update ,携带参数 msg 为:' e.msg)
})
},
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com