当前位置: 首页 > news >正文

国内网站开发的主流技术邢台设计公司

国内网站开发的主流技术,邢台设计公司,个人不良信息举报网站,主图模板前言 只要你的小程序超过一个页面那么可能会需要涉及到页面参数的传递,下面我总结了 4 种页面方法。 下面时多个参数页面传参的方式 let loveJSON.stringify(this.data.totle);let youJSON.stringify(this.data.totleId)let csdnJSON.stringify(this.data.totleP…

前言

只要你的小程序超过一个页面那么可能会需要涉及到页面参数的传递,下面我总结了 4 种页面方法。

下面时多个参数页面传参的方式

let love=JSON.stringify(this.data.totle);let you=JSON.stringify(this.data.totleId)let csdn=JSON.stringify(this.data.totlePrice)wx.navigateTo({url: '/pages/fly/fly?totle='+love+'&totleid='+you+'&totleprice='+csdn,})

 

路径传递

通过在url后面拼接参数,参数与路径之间使用 ? 分隔,参数键与参数值用 = 相连,不同参数用 & 分隔;如 ‘path?key=value&key2=value2’。

案例:A页面带参数跳转到B页面
A页面跳转代码

goB(){wx.navigateTo({url: '/pages/B/index?id=value',})},

B页面接收代码

onLoad: function (options) {console.log('id', options.id)
}

上面的案例是字符串参数,但是很多情况下需要传递对象,如下方代码。

Page({data: {userInfo:{name:'cym',age:16}},goB(){wx.navigateTo({url: '/pages/B/index?id='+this.data.userInfo,})},
})

如果使用上面同样的方式结构,输出的结果是:[object Object]

这个时候需要先把对象通过JSON.stringify(obj)将 object 对象转换为 JSON 字符串进行参数传递,再到接收页面通过JSON.parse解析使用。

A页面跳转代码

 goB(){let userStr = JSON.stringify(this.data.userInfo)wx.navigateTo({url: '/pages/B/index?id='+userStr,})}

B页面接收代码

onLoad: function (options) {console.log('id', JSON.parse(options.id))}

全局变量

通过App全局对象存放全局变量。

app.js代码

App({// 存放对象的全局变量globalData:{},
})

A页面跳转代码

// 获取App对象
const app = getApp()
Page({/*** 页面的初始数据*/data: {userInfo: {name: 'cym',age: 16}},goB() {app.globalData.userInfo = this.data.userInfowx.navigateTo({url: '/pages/B/index',})},
})

B页面接收代码

// 获取全局对象const app = getApp()
Page({onLoad: function (options) {console.log(app.globalData.userInfo)}
})

存放在 App 全局变量里面,可以被多个页面使用,直接从 App 对象获取即可。这个数据是保持在内测中,每次小程序销毁就没有了。

数据缓存

通过存储到数据缓存中。

A页面跳转代码

goB() {wx.setStorageSync('userInfo', this.data.userInfo)wx.navigateTo({url: '/pages/B/index',})}

B页面接收代码

onLoad: function (options) {let userInfo = wx.getStorageSync('userInfo', this.data.userInfo)console.log(userInfo)}

存放在数据缓存里面,可以被多个页面使用,直接用 getStorageSync 获取即可。这个数据是保持在数据缓存中,除非清楚数据缓存或者删除小程序否则一直存在。

事件通信

通过事件通信通道。

A页面跳转代码

goB() {wx.navigateTo({url: '/pages/B/index',success:(res)=>{// 发送一个事件res.eventChannel.emit('toB',{ userInfo: this.data.userInfo })}})}

B页面接收代码

onLoad: function (options) {//	获取所有打开的EventChannel事件const eventChannel = this.getOpenerEventChannel();// 监听 index页面定义的 toB 事件eventChannel.on('toB', (res) => {console.log(res.userInfo) })}

总结

大家可以针对具体业务场景来进行选择合适自己的传参方式。

http://www.yayakq.cn/news/917101/

相关文章:

  • 网站cms在线识别wordpress123页
  • 网站维护中是什么意思wordpress主题怎么设置
  • 郑州网站建设 易云互联如何设网站主页
  • 媒体发稿网站开发大气点的公司名字大全
  • 站长 网站ip推广营销策划方案
  • 吉安网站推广做网站被骗3000
  • 合肥网页网站制作成都系统开发
  • pc网站手机版开发深圳微信公众平台
  • 长沙天津网站建设eclipse tomcat 网站开发
  • 物流网站制作怎么做深圳 电子商务网站开发
  • 在哪里学做网站网站缩放代码
  • 杭州网站建设岗位薪资西安企业自助建站
  • 郑州网站建设乙汉狮网络吉安高端网站建设公司
  • 做网站用的主机多少合适优化seo是什么意思
  • 网站文章推广百度小程序开发工具下载
  • 网站开发流程图解释含义济南网站建设 选搜点o
  • 怎么在网上找接单做网站的公司潍坊网站建设诸城高密
  • 深圳建站网站搜索引擎seo优化平台
  • 昆山网站建设价格o2o商城网站开发
  • 如何避免网站被降权开源的网站建设平台
  • 营销网站建设哪家好南昌网站空间
  • 南昌专业做网站在建设主题网站时
  • 品牌做网站还是app抖音同城引流推广怎么做
  • 随州制作网站给周杰伦做网站
  • dedecms 网站 经常无法连接网站空间怎么查询
  • wordpress字体怎么改优化方案化学
  • 网站备案是怎么回事全屋整装定制
  • 图片链接生成网站做环评需要关注哪些网站
  • seo助力网站转化率提升兰州光辉网站建设
  • 青海专业网页设计免费建站注册域名后怎么建设网站