作者:毛蘢瑋 / Saint
GitHub :github.com/saint-000
專案篇:一款收集使用者需求和對接物品清洗市場的小程式 名稱:好行頭 目的:第一階段的前端佈局,美化頁面和排版,適應小程式開發工具.
知識點:
![小程式的初體驗](https://i.iter01.com/images/45d107931869fdd76e2b742fd8662d6534bb2e785cff752acaf145eaacefc8d0.png)
①【1】App()函式用來註冊小程式,需要在app.js中註冊,不能註冊多個.
![小程式的初體驗](https://i.iter01.com/images/b9ee1dfdab4f644f03256a2d9390000ac147739d32e60fb550344347f8a6e6a0.png)
//app.js
App({
onLaunch: function () {
// 展示本地儲存能力
var logs = wx.getStorageSync('logs') || []
logs.unshift(Date.now())
wx.setStorageSync('logs', logs)
// 登入
wx.login({
success: res => {
// 傳送 res.code 到後臺換取 openId, sessionKey, unionId
}
})
// 獲取使用者資訊
wx.getSetting({
success: res => {
if (res.authSetting['scope.userInfo']) {
// 已經授權,可以直接呼叫 getUserInfo 獲取頭像暱稱,不會彈框
wx.getUserInfo({
success: res => {
// 可以將 res 傳送給後臺解碼出 unionId
this.globalData.userInfo = res.userInfo
// 由於 getUserInfo 是網路請求,可能會在 Page.onLoad 之後才返回
// 所以此處加入 callback 以防止這種情況
if (this.userInfoReadyCallback) {
this.userInfoReadyCallback(res)
}
}
})
}
}
})
},
globalData: {
userInfo: null
}
})
複製程式碼
①【2】app.js內申明變數和函式只在該檔案中有效,不同檔案中相同變數不會相互影響。我們可以通過全域性函式getApp()獲取全域性. 在app.js寫
//app.js
App({
globalData: {
userInfo: null,
}
})
設定資料
app.globalData.userInfo = result;
獲取資料
this.setData({
userInfo: getApp().globalData.userInfo
});
複製程式碼
![小程式的初體驗](https://i.iter01.com/images/1d8e5b1bdbb047d8668f9a0fba1331bc34a581d4bfde6ea64eefe75aa69f1346.png)
②【1】Page()函式用來註冊小程式中的頁面:例如首頁,分類,本地等頁面
![小程式的初體驗](https://i.iter01.com/images/7324fc0fc00aaad58514f069696ee32c9aadffb0e65ffe3b4fee39574e4bacf0.png)
②【2】Page()函式有以上9中屬性,Data型別為Object,其他型別為Fuction,還有其他屬性可以新增函式在Object裡,用This呼叫. data:{ a: 1, message:"hhh" },
![小程式的初體驗](https://i.iter01.com/images/e109639dba7044864dc711547f4d099d692081c44b4113356525fc2b51b24eeb.png)
要注意在wxml上呼叫JS內的Data動態資料的時候用{{}}形式,JS內的動態資料與變數間用:關聯,此外字串型別加引號.
②【3】條件渲染:通過wx:if=“{{條件}}”來判斷渲染,通過JS傳送資料跟條件進行判斷實現前臺顯示與否,注意條件判斷整個要放進{{}}裡面,例如:“{{a+b>2}}”;條件判斷也可用wx:elif和wx:else.
②【4】OnShareAppMessage的用法
* 使用者點選右上角分享
onShareAppMessage: function () {}
複製程式碼
自定義分享程式碼:
![小程式的初體驗](https://i.iter01.com/images/1a4f2ee4126b1bf0392234b69a17028d95d233898d549b9f7541f4bc68b57bad.png)
![小程式的初體驗](https://i.iter01.com/images/e77646d480ff42ae8e1aff589fcf038c01a59fdcc53268214f6b3d9e9ab8feaf.png)
![小程式的初體驗](https://i.iter01.com/images/3ca90fb968634828303688c1ae5a3deb7bd623ab264bf9376bb29dc2a1905ba8.png)
②【4】列表渲染:wx:for=“{{}}”提醒一下就是在陣列中index是當前陣列元素下標值,item是當前陣列元素值;舉例:[A]3=4陣列中,wx:for-index=3,wx:for-item=4.
舉例:用陣列構成乘法表
③引用:import和include皆可以引用,import引用其他檔案內的函式,直接套用之前定義好的模板;include是匯入檔案中的大部分程式碼,template/>程式碼內容不匯入 .
//index.wxml
<template name="函式的名稱"><text>{{text}}</text></template>
複製程式碼
第一步先確定是否會多次用到某個函式;第二步在當前路徑.WXML檔案內template定義某個函式名稱以及內容;第三步在其他的頁面路徑.WXML檔案下引用之前定義的函式.
//test.wxml
<import src="../index/index.wxml"></import>
<template is="item" data="{{text:hello}}"></template>
複製程式碼
(千萬注意路徑,小編我就是在這裡摔倒的...WTF)
先就寫到這裡,小編還在上學,上述文章有錯誤之處還請各位多多指出,覺得好的朋友可以關注我的掘金和微博哦~