• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

微信小程序-参数传递

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

小程序传递参数的方式有三种:

(1)通过在App.js中设置全局变量

(2)通过拼接URL直接传递

(3)通过数据缓存存储再获取

1.app.js

通常把不会更改的数据放在app.js的Data中,在各个页面中都可以通过APP实例获取Data数据。

var app = getApp();
var data = app.data;

2.wx.navigateTo({})中URL携带参数

wx.navigateTo({
  url: 'test?id=1'
});

3. 数据缓存

①wx.setStorageSync(KEY,DATA)存储数据

try {
  wx.setStorageSync('key', 'value')
} catch (e) {    
}

②wx.getStorageSync(KEY)获取数据

try {
  var value = wx.getStorageSync('key')
  if (value) {
    // Do something with return value
  }
} catch (e) {
   // Do something when catch error
}
或
wx.getStorage({
  key: 'key',
  success: function(res) {
     console.log(res.data)
  }
})

然而,根据所传递参数的数据类型的不同,如对象、数组集合需要进行相应的处理。本质上都是String类型的传递。

 

1、传递基本数据类型

Page({  
  data: {
    testStr: 'xiaochengxu'
  },
  next: function(e){
    wx.navigateTo({
      url: '/test/test?str='+this.data.testStr
    })
  }
})
Page({
  onLoad:function(options){  
    console.log("接收到的参数是str="+options.str);  
  }
})

打印内容:接收到的参数是str=xiaochengxu

 

2,传递对象

Page({
  data: {
    testData:{name:'username', password:'password'}  
  },
  next: function(e){
    wx.navigateTo({
       url: '/test/test?testData='+JSON.stringify(this.data.testData)
    })
  }
})
Page({
  data:{
    testData:null
  },
onLoad:function(options){
   console.log("接收到的参数是testData="+options.testData);
   this.data.testData = JSON.parse(options.testData);
}}) 

打印内容:

接收到的参数是testData={"name":"username","password":"password"}

 

3,传递数组集合

Page({
  data: {
    list:['item-A','item-B']
  },
  next: function(e){
    wx.navigateTo({
      url: '/test/test?list='+JSON.stringify(this.data.list),
    })
  }
})
Page({  
  data:{
    list:[]
  },
onLoad:function(options){
   console.log("接收到的参数是list="+options.list); 
   this.data.list = JSON.parse(options.list);  
}})

打印内容:接收到的参数是list=["item-A","item-B"]

统一处理:

var dealParam = function(data) {
  for(var i in data) {
    if (typeof data[i] == ‘string’){
      console.log(“key=”+i+“; value=”+data[i]);
    } else if (typeof data[i] == ‘object’) {
      dealParam(data[i]);
    }
  }
}

 

 

转自:https://www.cnblogs.com/jinxinblogs/p/6809981.html


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
微信小程序开发中wx.redirectTo与wx.navigateTo跳转页面未果发布时间:2022-07-18
下一篇:
uniapp-小程序-分享发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap