微信小程序开发----实现数据在页面之间的传递

微信小程序在不同页面之间实现数据的传输,主要有三种方式,一种是通过设置全局变量来将数据放在公共区域,这样也使得其他页面能够直接获取相应的数据,另外一种就是直接将数据在页面与页面直接进行传递。第三种就是缓存传数据。接下来我将介绍以上两种页面数据传输的方法。

通过公共区域传输数据

我们都知道在微信小程序中每个页面有他的js;wxml.wxss.wx.json等文件,其中每个页面所需要的数据我们都将它存放在js页面中,然而,在我们的项目中有一个文件名为app.js他相当于整个微信小程序的公共空间,我们可以在里面定义公共的数据,以及公共的方法,然后其他页面可以通过特殊的调用方式就可以调用app.js里面存放的数据以及方法。

  • 定义数据

首先我们需要在app.js文件中创建我们我们存放数据的集合,并且像其他页面的js页面定义数据的方式一样在集合里面定义我们需要的数据,这里我定义了data集合,并且在里面定义了sum变量,并且将它的值赋为0

App({
    data:{
      sum:0,
    },
})
  • 获取数据

如果我们在app.js页面中需要调用我们刚刚上面定义的数据,那么我们就直接用下列语句进行调用

this.data.sum

如果我们想要在其他页面调用此数据,首先需要声明app变量,在进行调用

 //微信小程序的非app,js文件调用
 onLoad: function (options) {
 		//声明app变量
        var arr = getApp()
        //打印全局变量
        console.log(arr.data.sum)
    }
  • 修改数据

如果是在app.js页面进行数据修改

//sum值被改为1
this.data.sum = 1

如果是在其他非app.js页面进行数据修改,先声明app变量,在更改

//声明app变量
var app = getApp()
//修改数据sum为1
app.data.sum = 1

页面之间直接进行数据传输

  • 首先找到需要传输的数据,在对其进行数据格式的转换,转换成可以进行数据传送的数据类型,然后再通过页面跳转方法将数据一同进行传送
internal(e){
        //现将数据进行转换
        const data=JSON.stringify(e.currentTarget.dataset.type)
        console.log(data)
        //在将数据通过以下语法进行传送
        wx.navigateTo({
          url: '../add_page/add_page?data='+encodeURIComponent(data),
        })
        //如果有多个数据值可以这样
        //wx.navigateTo({
        //  url: '../add_page/add_page?data='+encodeURIComponent(data)+"&data1="+encodeURIComponent(data1),
        //})
    }
  • 我们进入数据所要传送到的目标页面,找到传送过来的数据,对其进行解构,就可以使用该数据了
 onLoad: function (options) {
        //解构目标数据
        var data = JSON.parse(decodeURIComponent(options.data))
        //直接使用结构之后的数据
        this.setData({ message:data })
    },

缓存传数据

关于数据在页面之间进行传输,还有一种方式,就是在之前的博客中提到的将数据写入缓存,在从目标页面就从缓存中取出,此方法就不在赘述,有兴趣的小伙伴可以去看一看哦

https://blog.csdn.net/qq_48627750/article/details/123464390

  • 3
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: van-grid 是一个 Vue.js 组件,它提供了一种方法来在小程序中展示网格布局。 van-grid 变量名是用来指代这个组件的。在使用 van-grid 组件时,你需要为它指定一个变量名。例如: ``` <template> <van-grid :columns="4" :border="false" :square="true" :gutter="20"> <van-grid-item> <van-icon name="home-o" /> <text class="van-grid-item__text">首页</text> </van-grid-item> <van-grid-item> <van-icon name="cart-o" /> <text class="van-grid-item__text">购物车</text> </van-grid-item> <!-- ... --> </van-grid> </template> ``` 在这个例子中,van-grid 就是 van-grid 组件的变量名。 ### 回答2: 微信小程序中的van-grid组件是一个可以实现网格布局的容器组件,并且可以根据需要对其中的子元素进行排列和展示。而变量名在编程中是用来标识和引用不同数据或对象的名称。 对于van-grid而言,变量名的作用主要有以下几个方面: 1. 通过变量名可以方便地引用和操作van-grid组件。在小程序的开发中,我们可以使用变量名来访问和修改组件的属性和方法,从而实现对组件的控制和调用。比如,我们可以使用变量名来控制van-grid中子元素的显示和隐藏,或者是根据用户的行为动态修改子元素的内容等。 2. 变量名可以帮助我们更好地理解和管理代码。使用有意义的变量名可以使代码更具可读性,提高代码的可维护性。在van-grid中,我们可以通过为变量名添加语义化的命名来更好地描述组件的作用和功能,方便他人理解和使用代码。 3. 变量名可以帮助我们降低代码的耦合性。通过使用变量名来引用和操作van-grid组件,我们可以将组件内部的实现细节隐藏起来,只暴露必要的接口和属性供外部使用。这样可以降低组件与外部代码的依赖,提高代码的灵活性和可重用性。 总结来说,微信小程序中的van-grid变量名有助于引用和操作组件,提高代码的可读性和可维护性,降低代码的耦合性,使开发过程更加高效和灵活。 ### 回答3: 微信小程序中的van-grid组件是一个网格布局的容器,用于展示类似于九宫格的数据。而变量名在程序中的作用是用来标识和引用一个值或者对象,以方便在代码中进行操作和调用。 在van-grid组件中,通过设置变量名,我们可以方便地使用数据绑定将数据源和网格项进行关联。通过给变量名赋值,我们可以动态地更新网格项的内容,从而实现数据的展示和刷新。 另外,变量名还可以作为事件的参数传递。当用户点击某个网格项时,可以通过事件对象的currentTarget属性获取到被点击项的变量名,从而执行相应的操作。比如,可以根据变量名来打开对应的页面或者展示对应的内容。 除了与数据绑定和事件的操作相关,变量名还可以用于样式的动态控制。通过给网格项的变量名绑定不同的样式,我们可以实现网格项的不同的显示效果或者排列方式。 综上所述,微信小程序中的van-grid组件的变量名具有非常重要的作用。它不仅方便了数据的展示和操作,还可以实现用户交互和样式的动态控制,使得网格布局的使用更加灵活和便捷。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值