page对象的属性(来聊聊小程序页面之间如何通信)
本文目录
来聊聊小程序页面之间如何通信
在微信小程序中一般通过navigata或者redirect时候URL来携带参数,然后在目标页面的onLoad函数中获取这些URL参数。
例如:
//A页面相关代码
wx.navigateTo({
url:"/pages/Apage/Apage?a=1&b=2"
})
//B页面相关代码
Page({
onLoad:function(options){
var a=options.a;//a的值:1
var b=options.b;//b的值:2
}
})
但这个方法是对于目标文件还没创建时有效,因为一个页面onLoad函数在页面生命周期中,只执行一次。如果是A跳到B,再回到A并把B的数据传回来,就没法实现了。
一、使用全局存储数据
1.将要储存的数据,存储到App对象上(如globalData属性)。
var app=getApp()
app.globalData.mydata={a:1,b:2}//
wx.navigataBack();//返回上一页
2.将要传递的数据,储存在小程序本地数据缓存(Storage)中。
wx.setStorage({
key:"mydata",
data:{a:1,b:2},
success:function(){
wx.navigataBack();//返回上一页
}
})
注:全局数据存储,必须谨慎管理,生命周期等问题
二、从页面路由栈中直接获取和操作目标Page对象
这种方式,是通过调用小程序的API getCurrentPages(),来获取当前页面路由栈信息,这个路由栈是按照页面路由顺序存放着相应的Page对象,可以很容易获得上一页的Page对象,从而使直接调用Page对象的属性和方法成为可能。
var pages=getCurrentPages();
var currPage=pages;//当前页面
var prevPage=pages;//上一个页面
//现在就可以,直接调用上一个页面的setData()方法,把数据存到上一个页面中去
prevPage.setData({
mydata:{a:1,b:2}
})
请问微信小程序底层实现的原理是什么
就是一个模仿React Native,并且只能用在微信App内,并且封闭不开源,并且不支持其他第三方JS库,并且只跑在微信浏览器利用其Web渲染,且效率比较低下的,且只能访问微信接口的,并且用户数据不怎么开放的一个JS框架。
本文相关文章:
微信自建小程序(用微信小程序自建商城在今后的使用过程中会遇到哪些问题)
2024年7月24日 04:11
navigationbar(微信小程序 navigationbar怎么配置)
2024年7月23日 04:27
免费个人小程序模板(有免费的可视化小程序开发后台,你会选择自己做吗)
2024年7月21日 21:27
java编程思想过时了吗(Java程序员是不是已经烂大街了)
2024年7月18日 06:43
小红伞误杀程序怎么办电脑高手指点一下?小红伞查出特洛伊病毒怎么办
2024年7月15日 09:35
微信小程序和原生APP比起来有什么优势?相比阿里云的飞天系统,腾讯云用的是什么系统
2024年7月15日 07:33
谭浩强c语言入门(看完谭浩强那本C程序设计并做完所有课后习题,能算C语言入门了吗)
2024年7月15日 07:24
计算机二级c语言编程题(计算机二级c语言程序修改题该怎么学习)
2024年7月13日 20:48
更多文章:
flash游戏网站源码(高手进来,怎样下在网页中的FLASH源代码)
2024年7月17日 19:55
香港云服务器(香港有云服务器么是真正的云服务器 不是vps哦)
2024年7月19日 19:54
数组先定义在初始化(数组变量一般应该先定义后使用,当定义数组变量后,该数组各元素的初值是什么)
2024年7月2日 21:01
浮点运算对什么有影响(CPU浮点运算与整点运算分别决定其什么方面性能)
2024年10月8日 14:10
计算机应用基础教程答案(计算机应用基础课后习题答案(人民邮电出版社 杨起帆 颜晖编))
2024年7月8日 06:18
codeblocks下面的框不见了怎么办(codeblocks不出现黑框)
2024年7月23日 13:18