### 1. 通過使用open-data標簽直接獲取
```
<open-data class="logo" type="userAvatarUrl"></open-data>
```
### 2. 通過button直接獲取
```
<button open-type="getUserInfo" bind:getuserinfo="GetInfo">獲取信息</button>
```
```
GetInfo(e){
console.log(e.detail)
}
```
### 3. 使用組件方法
自定義組件
```
<button plain="{{true}}" open-type="{{openType}}"
bind:getuserinfo="onGetUserInfo">
<slot name="image"></slot>
</button>
```
通過onGetUserInfo事件獲取用戶信息,并將其傳給父組件
```
onGetUserInfo(e){
var userInfo = e.detail
this.triggerEvent("getUserInfo", userInfo);
},
```
使用帶插槽的btn組件
```
<v-btn openType="getUserInfo" bind:getUserInfo="getInfo">
<image slot="image" src="{{authorized?userInfo.avatarUrl:'images/my.png'}}" class="image-btn" mode="widthFix"/>
</v-btn>
```
父組件獲取到用戶信息
```
getInfo(e){
let userInfo = e.detail.userInfo;
this.setData({
userInfo,
authorized: true
})
}
```
加載時可以檢查用戶信息是否授權,如果授權,直接獲取用戶數據
```
得到用戶授權的相關信息,檢查用戶是否授權獲取相關信息
wx.getSetting({
success: (res)=>{
console.log(res);
if(res.authSetting['scope.userInfo']){
//獲取用戶相關信息
wx.getUserInfo({
success: res=>{
console.log(res);
this.setData({
userInfo: res.userInfo,
authorized: true
})
}
})
}
// console.log(res.authSetting['scope.userInfo']);
}
})
```
- 小程序配置
- 1 開始第一個小程序
- 2 navigationBar
- 3 flex彈性布局
- 4 響應式長度單位: rpx
- 5 添加新的頁面
- 6 配置tabBar
- 7 歡迎頁跳轉到有tabBar的頁面
- 小程序語法
- 1. 數據綁定
- 2. 列表渲染
- 3. 條件渲染
- 4. 小程序和vue data讀取方式
- 5. 屬性的數據綁定方式
- 6. bindtap與catchtap
- 7. event.targe和event.currentTarget
- 組件&demo
- 1. scroll-view
- 2. swiper
- 3. 制作一個音樂播放組件
- 4. chooseImage配合緩存創建頭像
- 5. 獲取input表單value(搜索欄實現)
- 6. map
- 7. Form表單提交獲取數據
- 小程序API
- 1. 緩存 wx.setStorageSync
- 2. 選擇圖片 wx.chooseImage
- 3. 加載 wx.showLoading
- 4. 彈出框 wx.showToast
- 5. 分享與獲取用戶信息
- 項目結構類
- 1. 代碼封裝
- 2. wx.request請求數據分離
- 3. 組件
- 1. slot
- 2. 父元素傳遞class到子元素
- 3. 子組件向父組件傳值
- 4. wxml中引用wxs封裝方法