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

网站发布工具营销推广网歹

网站发布工具,营销推广网歹,ps做网站连接,腾讯cdn加速优化wordpress前言 只要你的小程序超过一个页面那么可能会需要涉及到页面参数的传递,下面我总结了 4 种页面方法。 路径传递 通过在url后面拼接参数,参数与路径之间使用 ? 分隔,参数键与参数值用 相连,不同参数用 & 分隔;如…

前言

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

路径传递

通过在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/318734/

相关文章:

  • 建设英文网站费用温州百度推广公司
  • 如何用域名做邮箱 网站网站建设维护工作经验
  • 江宁网站建设公司wordpress几万条数据
  • 为什么企业建设银行网站打不开wordpress 主页链接
  • 网站关键词之间微信小程序怎么清理掉
  • seo网站诊断价格莱芜新闻视频回放
  • php 网站 上传到空间邢台做移动网站公司
  • 绥芬河市建设局网站网页设计的规格
  • 西安国际网站设计网站运营的重要性
  • 工商联网站建设作用公司设计网站定制
  • 站长联盟网站建设有哪些岗位
  • 取个网站建设公司名字如何制作网页游戏
  • jsp网站开发详解 赵增敏手机怎么弄微信公众号
  • 教育网站建设网升级wordpress需要ftp
  • 创建网站基本步骤百度网站名片
  • 织梦做视频网站校园网站 建设 意义
  • 网站备案的具体流程图网络科技公司排名
  • 阜沙网站建设咨询服务网站源码
  • 仿牌网站怎么做301跳转泰安房产网签西湖春晓
  • 山东省个人网站备案建立用英语怎么说
  • 新网站上线广州天华建筑设计有限公司
  • php做原生直播网站推广公司网站
  • 云南火电建设有限公司网站视频转链接在线生成
  • 关键词优化的内容网站优化建设山东
  • 做家具商城网站wordpress分享有礼
  • 做网站的费用入账网站制作功能多少钱
  • 做土特产的网站做网站的硬件成本
  • 网站关键词突然搜不到网页设计代码html个人简介
  • 做淘宝客网站是如何盈利的六安seo曝光行者seo
  • 义乌门户网站建设wordpress 改变域名