小程序

单独更新数组中的一个值
1
2
3
4
5
6
7
8
9
# 方法一: 用一个空对象暂存
var data = {};
data[key] = value; // key 可以是任何字符串
this.setData(data)

# 方法二: ES6
setData({
[`test[{${i}].name`]:'liu'
});

微信小程序跨页面传值

  1. 用url带参数

    onLoad: function(options) {

    this.setData({gid: options.gid});
    

    }

  2. 用getCurrentPages()获取栈中全部页面,然后把数据写入前页面

    let arr = getCurrentPages();
    if(arr[arr.length -2] == ‘pages/order/order’) {

    wx.navigateBack({
        delta:1,
        success: function(res) {
            let address = {
                name:name,
                phone:phone
            };
            arr[arr.length -2].setData({address:address});
        }
    });
    

    }

  3. wx.setStorage写入本地,跨页面再用wx.getStorage取出来

    1
    2
    3
    4
    5
    wx.setStorage({
    key:'detail',
    data:detail,
    success: function(res){}
    });
  4. 把数据声明为全局变量,可在任何页面获取

    let detail = getApp().detail;

  5. 微信小程序页内传值

    onClick: function(e) {

    e.currentTarget.id;
    e.currentTarget.dataset.index;
    

    }




    formSubmit: function(e) {

    let phone = e.detail.value.phone;
    

    },
    confirm: function(e) {

    let allInputValue = e.detail.value;
    

    }

微信小程序内无法显示网络图片

解决办法:先下载图片到本地,再显示本地图片路径

wx.downloadFile({
  url: imageUrl, 
  success(res) {
    // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
    if (res.statusCode === 200) {
      // console.log(res.tempFilePath)
    } 
  }
})