微信小程序的几种传值方式

这篇具有很好参考价值的文章主要介绍了微信小程序的几种传值方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、使用全局变量传递数据

二、本地存储传递数据

三、使用路由传递数据

四、父子组件之间传值


一、使用全局变量传递数据

提示:利用 app.js 中的 globalData 将数据存储为全局变量,在需要使用的页面通过 getApp().globalData 获取

// 步骤一:在全局app.js文件中定义数据
App({
  globalData: {
    userName: '全局变量传值',
  }
})

// 步骤二:获取应用实例,不然无法调用全局变量
const app = getApp()

// 步骤三:调用全局变量
Page({
  data: {
  
  },
  onLoad: function (options) {
    console.log(app.globalData.userName);
  },
})

二、本地存储传递数据

提示:利用微信小程序提供的本地存储 wx.setStorageSync 与 wx.getStorageSync 进行传值。

 设值:wx.setStorageSync('title', title)
 取值:var title=wx.getStorageSync('title')

三、使用路由传递数据

传递:

// 跳转的同时携带数据拼接在URL后面,跳转到的页面利用onLoad()方法的参数options即可获取到传递的参数
wx.navigateTo({
     url: `跳转路由?data=${data}`,
})

接收:

onLoad(options){
    console.log(options)
}

注意:如若因为传递的是对象类型的数据,到另一个页面获取时会发现是"[object,object]",解决方法是利用JSON.stringify()和JSON.parse()

传递:

const data = JSON.stringify(this.data);
wx.redirectTo({
   url: `跳转url?data=${data}`
})

接收:

onLoad(options){
    const data = JSON.parse(JSON.stringify(options.data));
}

四、父子组件之间传值

  • 父向子传值使用的是属性绑定,子组件中 的 properties 对象 进行接收父组件传递过来的值
  • 子向父传值使用的是自定义事件,父组件通过自定义事件中的 事件对象e 来接收子组件传递过来的值

父向子传值

  • 创建一个 components 文件夹 用于存放子组件。在 components 文件夹下创建我们的子组件 child , 创建成任何名字都可以,这里创建成 child 。

微信小程序的几种传值方式

  •  创建好以后就是引入,把子组件 child 引入到父组件 index 中去。 这里说明一下,此案例创建了两个页面,一个是 pages 节点下的 index 路由页面,一个是 components 节点下的 child 组件  。     
//在父组件的 json 文件中的 usingComponents节点下 引入
{
  "usingComponents": {
    "child":"../../components/child/child"
  }
}
  • 渲染子组件内容到父组件上

给组件起的自定义名字是 child 那么 我们渲染的时候就 在 index 父组件 里写上一组 <child><child> 标签即可

  • 父组件
<child name="{{ name }}" age="{{ age }}" ></child>


export default{
    data(){
        return{
            name:"老五",
            age:50
        }
    }
}
  • 子组件
<view>
  这是父组件传递过来的值 name: {{ name }}-----age {{age}}
</view>
  

// 接受父组件传递过来的值
  properties: {
    name:{
      type:String,
      value:'我是默认值:哈哈'
    },
    age:{
      type:Number,
      value:'我是默认值: 100'
    }
  },

子向父传值

  • 子组件

WXML

<!-- 点击按钮向父组件传值 -->
<button bindtap="send">点击按钮向父组件传值</button>

JS

​
​  data: {
    msg:'我是子组件的值'
  },
    
  methods: {
    send(){
      this.triggerEvent('send',this.data.msg)
    }
  },

  • 父组件

父组件中定义一下这个自定义事件bindsend="send"

WXML

<child  name="{{ name }}" age="{{ age }}" bindsend="send"></child>

JS文章来源地址https://www.toymoban.com/news/detail-406052.html

 // 父组件接受子组件传递过来的值
  send(e){
    console.log(e.detail);
  }

到了这里,关于微信小程序的几种传值方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序页面之间传参的几种方式

    目录 前言 第一种:url传值 url传值使用详细说明 api跳转 组件跳转 第二种:将值缓存在本地,再从本地取值 第三种:全局传值(应用实例传值) 第四种:组件传值 第五种:使用通信通道(通信通道是wx.navitageTo()独有的) 第六中:使用页面栈(只对当前页面栈中存在的页面生效

    2024年04月13日
    浏览(44)
  • 微信小程序中(设置成背景图的几种方式)

    1、使用网络图片 2、使用base64格式图片,访问图片base64编码  将背景图片使用编码base64进行转换, 网址如下: base64图片在线转换工具 - 站长工具 3、使用标签    注意有小朋友可能要用html那一套,使用background-image不适用于微信小程序 background-image: url(\\\"../images/local_image.png\\\")

    2024年04月25日
    浏览(36)
  • 小程序(二十六)微信小程序解析富文本的几种方式

    微信小程序解析富文本html大概有两种方式(我发现的)。 两种方法,各有各的优缺点。 这个标签解析的富文本会保留你在pc端编辑的样式,也就是说,你在pc端编辑的是什么样子,小程序端显示的也是什么样子。 示例: Html Javascript: 上边这是微信小程序官方文档给出的示例

    2024年02月10日
    浏览(47)
  • 微信小程序wxss定位/选择/查找元素的几种方式

    wxss定位、选择、查找元素的几种方式与css类似,下面介绍常用的几种: 选择器 样例 样例描述 .class .intro 选择所有拥有 class=\\\"intro\\\" 的组件

    2024年01月16日
    浏览(55)
  • 微信小程序--data的赋值与取值的几种方式

    赋值一定需要注意。需要setData的使用,这样页面才刷新,数据才会改变,并且分清that和this的使用 Page() 函数用来注册一个页面。接受一个 object 参数,其指定页面的初始数据、生命周期函数、事件处理函数等。其中的参数data用来设置初始数据,WXML 中的动态数据均来自对应

    2024年02月11日
    浏览(44)
  • 微信小程序中,将一张图设置成背景图的几种方式

    三种方法实现 1、使用网络图片 2、使用base64格式图片,访问图片base64编码  将背景图片使用编码base64进行转换, 网址如下: base64图片在线转换工具 - 站长工具 3、使用标签 注意有小朋友可能要用html那一套,使用background-image不适用于微信小程序 background-image: url(\\\"../images/loc

    2024年02月11日
    浏览(61)
  • Axios传值的几种方式

    axios基本使用 默认是get请求 注意:get请求无请求体,可以有body,但是不建议带 使用get方式进行无参请求  使用get方式请求,参数值直接放在路径中    使用get方式请求,参数拼接在路径中:方式①   使用get方式请求,参数拼接在路径中:方式② 使用get方式请求,拼接多个参

    2024年04月17日
    浏览(37)
  • 微信小程序页面传值的5种方式

    微信小程序页面传值的方式有以下几种: 1.URL参数传值:通过在跳转链接中附加参数,在目标页面的onLoad函数中获取参数。 2.全局变量:通过在app.js文件中定义全局变量,在源页面设置变量的值,目标页面通过getApp().globalData获取变量的值。 3.缓存存储:使用wx.setStorageSync()在

    2024年02月15日
    浏览(45)
  • 在微信小程序部署AI模型的几种方法

    本文只是分享思路,不提供可完整运行的项目代码 以目标检测类模型为例,该类模型会输出 类别信息 , 置信度 , 包含检测框的4个坐标信息 但不是所有的onnx模型都能在微信小程序部署,有些算子不支持,这种情况需要点特殊操作。 微信小程序提供的接口相当于使用onnxr

    2024年04月27日
    浏览(61)
  • 微信小程序返回上级页面传参的几种方法

    在做微信小程序跳转页面,经常会遇到二级页面要返回上级页面,并且需要携带参数,wx.navigateTo()跳转大家都知道直接在url上面拼接参数,之后再二级页面onLoad(options)里获取,但是返回页面wx.navigateBack()不可以那样做,所以就可以用以下几种方式来做,具体看个人业务适合用

    2024年02月08日
    浏览(88)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包