收藏
回答

Page的函数在onLoad中调用结果不同?

//js
Page({  
  data: {  
    userInfo: {},  
    hasUserInfo: false,  
  },  
  onLoad: function() {
    const that=this;
    wx.login({      
      success (res) {
        that.getUserProfile();
        console.log(res);
        console.log(that.data.userInfo);        
        }
    })
  },  
  getUserProfile(){
    wx.showLoading({
      title: '加载中',
    });

//如果不点击只能运行到这里

    wx.getUserProfile({      
      desc'nickname',
      success:(res)=>{
        console.log(res);
        this.setData({userInfo:res.userInfo,hasUserInfo:true});
        wx.hideLoading();
      }
    });    
  }
  }    
);

wxml:

<view class="container">  
  <view class="userinfo">  
    <!-- 如果没有用户信息,只显示获取用户信息的按钮 -->  
    <block wx:if="{{!hasUserInfo}}">  
      <button bind:tap="getUserProfile">若登陆失败,点此显示信息</button>    
    </block>  
    <!-- 如果有用户信息,显示用户头像和昵称 -->  
    <block wx:else>    
      <text>{{userInfo.nickName}}</text>
      <image src="{{userInfo.avatarUrl}}" mode="widthFix"/>     
    </block>  
  </view>  
</view>


回答关注问题邀请回答
收藏

2 个回答

登录 后发表内容