微信小程序的学习(1)

最近整毕设。。。。快递还没到,抽3天时间学下小程序,听说学完Vue挺好学的,呀,偷懒了一个星期,嘿嘿()

事件:

bind:会冒泡
catch:绑定并且不会冒泡
在这里插入图片描述

生命周期

在这里插入图片描述

 * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

获取用户信息

在这里插入图片描述
这里先不用考虑判断是否直接拿到数据

用户信息成功获取到
data中的情况

在这里插入图片描述
页面加载时候拿到数据
在这里插入图片描述

在这里插入图片描述
这里是最终步骤
终于搞懂了。。。离谱

<view class="indexContainer">
  <image class="avatar" src='{{userInfo.avatarUrl}}'></image>
  <button bindgetuserinfo='handleGetUserInfo' style='display:{{isShow? "block" : "none"}}' open-type="getUserInfo">获取用户登录信息</button>
  <text class="userName"> hello {{userInfo.nickName}}</text>
  <view bindtap="handleParent" class="goStudy">
    <text catchtap="handleChild">开启小程序之旅</text>
  </view>
</view>

Page({

  /**
   * 页面的初始数据
   */
  data: {
    msg: '气球',
    userInfo: {},
    isShow: true
  },
  handleParent(){
    console.log('父元素')
  },
  handleChild() {
    console.log('子元素')
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getUserInfo()
  },
  getUserInfo(){
    // 判断用户是否授权了
    wx.getSetting({
      success: data => {
        console.log('用户授权',data)
        if (data.authSetting['scope.userInfo']) {
          this.setData({
            isShow: false
          })
        } else {
          //没有授权
          this.setData({
            isShow: true
          })
        }
      }
    })
    wx.getUserInfo({
      success: data => {
        //在这里要用箭头函数 普通函数this指向会有问题
        // 因为在getUserInfo这个api中success回调函数肯定不是当前页面调用的
        console.log(data)
        this.setData({
          userInfo: data.userInfo
        })
      },
      fail: () => {
        console.log("获取用户失败")
      }
    })
  },
  handleGetUserInfo(data){
    console.log('用户点击了',data)
    if(data.detail.rawData){
      //用户点击的是允许
      this.getUserInfo()
    }
  },

这里是这样的,首先要明白文档中这几个:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在已进入页面,初始化的时候就执行getUserInfo,如果从未授权,则里面什么也不动,因为会进入fail回调,上面接口调整那说清楚了,
如果授权过,就正常显示,往下执行,这没什么可说的
这时候讲进入从未授权时,点击按钮,弹出提示框,点击允许,(这里我一直想不懂他是怎么知道授权的,只是知道点击允许之后授权数据不一样,后来我猜是他内部默认点击允许选项,就是算是授权,这里卡了我好久)
然后就是通过是否授权显示隐藏按钮,用到三元运算符那出了点问题," " " “,我里面这样使用两个双引号,报错了,
总结出来无论是’ ',还是” ",只要别一样就行

style='display:{{isShow? "block" : "none"}}'

本来晚上想放弃等明天再看,坚持住了。。。感觉小程序就是查文档费劲,还老变化,圆满了今天,明天继续。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值