微信小程序> 小程序地址传值-小程序传值的一些坑-小程序页面传值

小程序地址传值-小程序传值的一些坑-小程序页面传值

浏览量:2565 时间: 来源:广湖

1.对于小程序而言,传值的方式倒是很简单,直接拼参数就行,例如:

2.wx.navigateTo({

3.url:'../payOne/addPassenger/addPassenger?contacts='+contacts+"&phone="+phone+"&sfz="+sfz

4.})

5.上面就是一个典型的跳转页面并传值的方法。

6.在接收界面里的onLoad方法:

7.onLoad:function(e){

8.console.log("接收的参数:"+e.contacts+"*******"+e.phone+"***********"+e.sfz)

9.}

10.这样就可以接收上个界面传递的值了。处理之后,需要返回上一个界面,如果不回调,直接回到上个界面:

11.letpages=getCurrentPages();

12.letprepage=pages[pages.length-2];

13.wx.navigateBack({})

14.如果需要给上一个界面传值,那么需要添加参数:

15.letpages=getCurrentPages();

16.letprepage=pages[pages.length-2];

17.prepage.setData({

18.contacts:contacts.toString(),//传递的参数

19.phone:phone.toString(),//传递的参数

20.sfz:sfz.toString(),//传递的参数

21.jump:"true"

22.});

23.wx.navigateBack({})

24.然后在第一个界面的onshow方法里接收:

25.varcontacts=this.data.contacts;//获取联系人

26.varphone=this.data.phone;//获取电话

27.varsfz=this.data.sfz;//获取身份证

28.ok!!!接收的参数过来了。这个就是简单的传参方法。

29.对于简单的需求没问题,如果是一个列表,

30.

31.点击第一个,进行更改操作,需要把id传过去,一顿操作之后,在返回来,再根据id就能更改了。问题来了,如果,更改了第一个新疆的,此时的id是0,在点击第二个,此时的操作不是更改,而是返回,那么就会出错,你会发现,第二个里面的值,全都变成了第一条数据里的值。原因在于,点击的时候,需要把里面的值传过去,因为客户有可能只会更改几个值,其他的不改,所以还要把剩余不更改的值在拿回来。当,点击小程序上面的返回时,返回的数据依然是上次的数据。但是因为点击的id变了,二传递的值却没变,所以造成数据错乱。二小程序没有返回的操作。本人的方法是,在app里定义一个参数A,根据这个A的值来判断是否做了更改,如果更改,就进行操作,如果未更改,则不操作。二更改A的值,则在第二个界面里面的onUnload方法操作。

32.

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎