微信小程序有哪些传值(传递数据)方法

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

URL参数传递:可以通过URL参数的方式将数据传递给小程序页面。

Storage存储:可以通过Storage API将数据存储在本地,然后在小程序页面中读取。

全局变量:可以将数据存储在小程序的全局变量中,然后在小程序页面中读取。

数据绑定:可以通过数据绑定的方式将数据传递给小程序页面。

自定义事件:可以通过自定义事件的方式将数据传递给小程序页面。

WebSocket:可以通过WebSocket协议将数据传递给小程序页面。

数据库:可以通过小程序提供的数据库API将数据存储在数据库中,然后在小程序页面中读取。

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

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

app.js

   

App({
        globalData:{
            data: { name: 'demo' }
        }
    })

使用组件

   

let app = getApp()
     
app.globalData.data

2、使用本地存储数据传递

使用小程序提供缓存

同步缓存:wx.setStorageSync 与 wx.getStorageSync

异步缓存:wx.setStorage 与 wx.getStorage

移除本地缓存:wx.removeStorageSync(同步)、wx.removeStorage(异步)

 

// 将数据存储在本地缓存中指定的 key 中
    wx.setStorgaeSync('data','hello')
     
// 从本地缓存中同步获取指定 key 的内容
    wx.getStorageSync('data')
     
// 从本地缓存中移除指定 key
    wx.removeStorgae('data')

3、使用路由传递数据

传递组件

   

wx.navigateTo({
      url: 'test?id=1',
      success: (res)=> {
        // 通过 eventChannel 向被打开页面传送数据
        res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' })
      }
    })

使用组件

   

Page({
      onLoad: function(option){
        console.log(option.query)
        // 监听 acceptDataFromOpenerPage 事件,获取上一页面通过 eventChannel 传送到当前页面的数据
        eventChannel.on('acceptDataFromOpenerPage', (data)=> {
          console.log(data)
        })
      }
    })

4、父子组件使用selectComponent('#页面id'),triggerEvent('方法名','值')

<view id='demo' bind:returnDate='handleReturnDate'><view>

    Page({
          
        handleData(data){
           this.selectComponent("#demo").showModal(data);
        }
        // 子组件传递过来的值
        handleReturnDate(data){
             console.log(data)
        }
    })

    Component({
        
        methods:{
            // 父组件传递过来的数据
            showModal(data){
                console.log(data)
            },
            submit(){
                // 子组件传递数据给父组件
               this.triggerEvent("returnDate", sportsGuidance);
            }
        }
    })

5、子组件通过properties接收:

父组件parent

parent.wxml

    <view>
        <child :name='jack'></child>
    </view>

parent.json

     {
        "usingComponents": {
            "child":"/child/child",
        },
        "navigationBarTitleText": "父组件的导航标题"
    }

子组件 child

child.wxml

   

<view>
        父组件传递过来的name:{{name}}
    </view>

child.js

   

 Component({
    // 接受父组件传递过来的属性
    properties:{
        name:String //简化的定义方式
     
        //name:{
            //type:String,
            //value:''
        //}
    },
    // 私有数据,可用于模板渲染
    data:{},
     
    // 组件生命周期声明对象
    lifetime:{
     
    },
        
    // 组件所在页面的生命周期声明对象
    pageLifetimes:{
     
    },
     
    // 事件响应函数和任意的自定义方法
    methods:{}
        
})

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

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

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

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

相关文章

  • 微信小程序点击事件(bindtap)传递参数

    小程序在组件上绑定事件后,传递参数的方式不同于前端开发其他场景中直接加参数的方式,小程序在参数的传递时,采用事件对象的自定义属性的方式,具体实现如下: wxml: view bindtap=\\\"goTo\\\" data-index =\\\"{{item.index}}\\\"点击事件传参/view js中: goTo: function(e){     // 传递的参数    

    2024年02月12日
    浏览(61)
  • 微信小程序 bindtap 事件多参数传递

    在微信小程序中,我们无法直接通过 bindtap=\\\"handleClick(1,2,3)\\\" 的方式传递参数,而是需要通过自定义属性 data- 的方式进行传递,并在事件回调函数中通过 event.currentTarget.dataset 来获取这些参数。然而,这种传参方式不够友好,尤其是在传递多个参数时,需要特别注意参数的形式

    2024年02月01日
    浏览(54)
  • 微信小程序一对多个页面间传递数据进行通信,事件触发的实现方法

    在有些场景下,使用组件间通信或者组件和页面间通信并不可行。比如我需要只有一个websocket实例,并且需要向多个页面传递我接收到的消息。 下面的方法是一个页面向其它页面(触发事件)传递数据,其它页面也可以向这个页面传递数据。也就是可以互相传递。 缺点是,

    2024年02月07日
    浏览(44)
  • uniapp App跳转微信小程序并互相传递参数、接收微信小程序传递的参数

    本文是uniapp打包成安卓App。 一、注意事项 1、用到了分享功能,在打包App时,需要配置manifest.json:App 模块配置-Share。按照提示填写微信分享的信息,appid的获取参考我的另一篇文章:uniapp项目 App端实现微信登录、QQ登录 2、因为涉及到第三方 SDK 的配置,需要打包自定义基座

    2024年02月09日
    浏览(54)
  • 微信小程序路由以及跳转页面传递参数

    路由 在app.json的pages里面写 \\\"pages/页面/页面\\\" 直接保存pages直接生成非常方便  跳转页面 wx.navigateTo() 保留当前页面,跳转到应用内的某个非tabBar页面。 text bindtap=\\\"daka\\\"点击/text 会保留返回箭头 底部导航跳转在app.json写入即可 传参以及接收参数 1、本地存储 使用方法:和js差不

    2024年02月11日
    浏览(53)
  • 微信小程序 父组件调用子组件事件和传递参数

    一、使用场景 当每个页面都调用统一的组件时,传递的参数和方法都不尽相同,我们应该怎么样子传递给我们的子组件,让子组件获取相应的值或方法进行计算执行。 二、实现方式 1、父组件调用子组件的方法 2、父组件传递参数给子组件

    2024年02月11日
    浏览(66)
  • 微信小程序与内嵌h5页面之间的参数传递

    小程序是采用vue+taroui技术栈 h5页面 所在文件:h5.vue 小程序页面:wx.vue,这里我用的是taro获取当前页面栈,大家可以用wx 这里的this.routerParams==={params:1} 小程序页面:wx.vue,首先向内嵌h5的webview所在页面跳转并携带所传参数。 webview页面—/pages/processLink/index。index.vue,由该页面

    2024年02月15日
    浏览(75)
  • 微信小程序如何实现页面传参和页面传递多个参数

    只要你的小程序超过一个页面那么可能会需要涉及到页面参数的传递,下面我总结了 4 种页面方法。 下面时多个参数页面传参的方式   通过在url后面拼接参数,参数与路径之间使用 ? 分隔,参数键与参数值用 = 相连,不同参数用 分隔;如 ‘path?key=valuekey2=value2’。 案例:

    2024年02月11日
    浏览(75)
  • uni-app 返回上一个页面并传递参数(微信小程序)

    方法一 问题: 会记住每次返回. 并在下次获取参数时把所有的返回监听进行 全部返回 ( 不确定别人使用时是否会出现此问题 ) 打印示例结果如下: 打印说明: 获取用户信息1: 为每次进入第二个页面 (onload) 请求的数据 监听到事件来自返回的参数: 为第一个页面监听获取的数据 方

    2024年02月09日
    浏览(67)
  • 微信小程序post传递参数为formData格式,一般是在上传图片时需要的

    wx.uploadFile传参的格式本身就是formData格式的,参照官网就可以 如果是wx.request的需要formData格式,如下图data的格式

    2024年02月13日
    浏览(52)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包