摘要:微信基本組件的高級解讀數據綁定,記住使用列表,使用,同時設置好。在使用組件,尤其是組件套組件時,特別注意此類事件。不設置該方法,頁面不支持分享如何發送模板消息小程序需要做什么在小程序段必須使用,獲取到并和其他數據一起傳給服務器。
1.微信基本組件的高級解讀
數據綁定,記住使用{{}}
列表,使用wx:for,同時設置好wx:key。不然,編輯器總是有紅色警告。
條件,使用wx:if,wx:else or wx:elif
模板不建議大量使用用,因為無法使用自己的樣式
事件,強記下哪些冒泡事件和非冒泡事件。在使用組件,尤其是組件套組件時,特別注意此類事件。
引入,import = 引入模板文件,include = 復制文件源碼, @import 引入樣式文件
wxss,理解并使用rpx來替代px
2.自定義組件的使用 a 自定義組件的使用場景可以抽象,并重復使用的就可以做成組件。
比如:分享組件、Tab組件、Pannel組件等等。
***組件使用,支持服務器下發分享按鈕文本和分享內容***
***share.js*** Component({ /** * 組件的屬性列表 */ properties: { text: { type: String, value: "分享給好友" } }, /** * 組件的初始數據 */ data: { }, /** * 組件的方法列表 */ methods: { onTapButton (e) { this.triggerEvent("tapbutton", {e}) } } })
***share.wxml***
***share.wxss*** @import "../../static/wxss/common.wxss"; .button { background: linear-gradient(#AEAEF9, #9ED1FA); box-shadow: 1rpx 1rpx 1rpx 1rpx #C28230; position: fixed; align-content: center; bottom: 30rpx; width: 30%; height: 60rpx; border-radius: 30rpx; font-size: 30rpx; margin: 0 35%; color: white; line-height: 60rpx; }
效果圖3.目錄結構規劃 4.常用組件的封裝 b 請求api
***使用*** // 獲取金幣收入列表 var Request = require("request.js") function getIncome(page = 1, success) { var url = Common.API + "/User/MyIncome/" + page Request.Get(url, success) }
***request.js*** function Get(url, success, err = errhandle, header = HEADER) { ShowLoading() return wx.request({ url: url, success: function (res) { // console.log("geturl", res) wx.hideLoading() if (res.statusCode != 200) { err(res.data) return } success(res.data.data) }, header: header }) } function Post(url, data, success, err = errhandle, header = HEADER) { wx.hideLoading() return wx.request({ url: url, data: data, method: "POST", success: function (res) { wx.hideLoading() if (res.statusCode != 200) { err(res.data) return } success(res.data.data) }, header: header }) } module.exports = { Get: Get, Post: Post }c 分享組件
見本文
5.生命周期分析onLoad: 初始化數據,包括:從服務器獲取頁面數據
onReachBottom: 可用于,列表加載下一頁。
onShareAppMessage: 設置頁面分享數據。不設置該方法,頁面不支持分享
6.如何發送模板消息 a 小程序需要做什么在小程序段必須使用form,獲取到form_id,并和其他數據一起傳給服務器。
b 后端需要如何操作在小程序后臺申請模板消息,發送消息是帶上form_id.
*** php代碼示例,使用lavavel框架,和easywechat組件 *** public static function SendTpl($uid, $coin, $formId, $page = "pages/index/index") { $find = User::find($uid); if ($find) { $data = [ "touser" => $find->openid, "template_id" => "Bg7IEAsOqXhFsjkcu3Wdz7Im6HTbBYIdgq_T9EnfcSY", "page" => $page, "form_id" => $formId, "data" => [ "keyword1" => "您有一筆金幣入賬", "keyword2" => $coin . "金幣", "keyword3" => "哇~有這么多金幣呢~~趕快到商店里看看,可以兌換好東西哦~" ] ]; $miniprogram = EasyWeChat::miniProgram(); $miniprogram->template_message->send($data); } }7.巧計 a 片段代碼的使用技巧 b 與后端的安全認證 8.遇到的一些坑 a 定義在tabbar的頁面,不能使用wx.navigateTo 應該使用wx.switchTab b 在小程序外,如何帶參數?以及如何獲取參數?
pages/index/index?pid=12直接在頁面后帶參數
獲取參數:
onLoad: function (options) { if (options.pid) { this.apprentice(options.pid) } }c 組件內列表場景下,點擊按鈕,如何帶上所選行參數?
** js組件的方法列表** methods: { onTapButton(e) { var detail = e.detail.target.dataset.detail detail["formId"] = e.detail.formId ? e.detail.formId : "" console.log("tapbutton", e, detail) this.triggerEvent("tapbutton", { detail: detail, event: e }) // , formId: formId } } *** wxml ***
***頁面使用*** bindExchange (e) { app.aldstat.sendEvent("商城-商品-" + e.detail.detail.title); wx.navigateTo({ url: "../exchange/exchange" }) }d 自定義組件,組件內的樣式如果需要使用公共樣式,需要多帶帶引入。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/28617.html
摘要:昨天有個小學弟給我發來微信,說他現在有點后悔選擇開發了,月月光不說,還加班特別嚴重,平時也沒有屬于自己的時間去學習,問我剛畢業的時候是不是這樣。每天回到出租屋都是倒頭就睡,非常累,也沒有其他時間提升自己的技術。 昨天有個小學弟給我發來微信,說他現在有點后悔選擇Android開發了,月月光不說...
摘要:大家好,我是冰河有句話叫做投資啥都不如投資自己的回報率高。馬上就十一國慶假期了,給小伙伴們分享下,從小白程序員到大廠高級技術專家我看過哪些技術類書籍。 大家好,我是...
摘要:并總結經典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快速搭建項目。 本文是關注微信小程序的開發和面試問題,由基礎到困難循序漸進,適合面試和開發小程序。并總結vue React html css js 經典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快...
閱讀 3434·2021-11-08 13:20
閱讀 3359·2021-09-30 09:48
閱讀 2559·2021-09-29 09:41
閱讀 589·2021-09-22 15:04
閱讀 2458·2021-08-23 09:44
閱讀 3663·2020-12-03 17:26
閱讀 1007·2019-08-30 14:10
閱讀 1561·2019-08-29 18:34