小程序和PHP学习笔记 ----- 不定期更新。

学习tp5和小程序过程需要记住的重点记录

1,box-sizing: border-box; 规定两个并排的带边框的框 border-box 为元素设定的宽度和高度决定了元素的边框盒。 就是说,为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。

2,border-right: 1rpx solid #d9d9d9; /右边框样式:厚度,实线,颜色/

3,flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap

4,在.wxml文件的通过data-* 传值,后台通过e.currentTarget.dataset.*取值。 在循环出来的界面中,不同的界面可触发不同点击事件

<view class='btnimg' wx:for="{{imgTaps}}" wx:key="" bindtap="aaa" data-id='{{item.id}}'></view>

  

aaa: function (e) {
    console.log(e.currentTarget.dataset.id);
}

5,微信小程序跳转传参

一般都是传字符串到下一页,如果要想传对象怎么办呢? 解决办法是先将对象转换为json字符串然后到下个页面将json字符串,再转化为对象。如下:

let str=JSON.stringify(e.currentTarget.dataset.item);
wx.navigateTo({
  url: '/跳转路径/?jsonStr='+str,
})

  另一个页面加载

onLoad:function(options){
  // 生命周期函数--监听页面加载
  let item=JSON.parse(options.jsonStr);
  this.setData({ward:item});
},

6, 表单提交需要 如果遇到多字段怎么办?(以小程序为例)

解决办法:获取全部的字段value 定义一个data(变量来存);定义一个数组arr 存放需要验证的字段  在需要验证的时候 用for of 来循环遍历value判断是否存在 (注意:for-of遍历value for-in遍历key)

//表单提交 
  formSubmit: function(e) {
    let data = e.detail.value;//定义一个变量来存放字段value
    let type = 1;//后端需要的类型 
    let c_type = parseInt(this.data.c_type) + 1;//文字转数字后加一 与后端类型对应
    let latitude = this.data.latitude;
    let longitude = this.data.longitude;
    var openid = wx.getStorageSync('userid'); //获取缓存的openid
    var details_img = this.data.imgCourseStr;//拼接图片路径为字符串 给后端传递
    var cover = this.data.coverImgstr;//拼接图片路径为字符串 给后端传递

    data.details_img = details_img;
    data.cover = cover;
    data.lng = longitude; //把获取到 data的longitude存到当前的data里    
    data.lat = latitude
    data.teacher_id = openid,

    data.c_type = c_type;
    data.type = type;
    console.log(data)
    // return

    let arr = ['nid', 'title', 'present', 'details_img', 'cover', 'start_time', 'exit_time', 'start_num', 'money', 'class_start_time', 'class_exit_time','class_time', 'c_type', 'c_address', 'c_number', 'c_money'];
    for (let item of arr) {
      // of item == value
      // in item == key
      if (data[item] == '') {
        wx.showLoading({
          title: '必填项未填',
        })
        setTimeout(function() {
          wx.hideLoading()
        }, 2000)
        return
      }
    }
    //等待区的地点 
    this.submit(data).then((data) => {
      //这里是等待区 银行业务员已经帮你处理完成 并将处理结果告诉你了
      wx.showLoading({
        title: '成功',
      })
      setTimeout(function() {
        wx.hideLoading();
        wx.reLaunch({
          url: '/pages/index/index',
        })
      }, 2000)
    })
  },

  7,理解重绘和回流 

重绘:只操作改变dom节点的样式属性,性能比回流好

回流:操作dom节点,会重新编译执行,内存消耗较大

8,git 更改文件后重新提交到远程仓库 

执行 git add . 命令 添加更改过的文件到本地仓库

然后 执行 git commit -m "注释" 提交 覆盖

 最后 执行 git push -u origin master 把文件提交到远程仓库 

原文地址:https://www.cnblogs.com/yuobey/p/10499455.html