摘要:被美麗說(shuō)少女粉吸引,就想著自己也寫(xiě)一個(gè)來(lái)練練手,正好最近在學(xué)習(xí)微信小程序。微信小程序的組件真的很強(qiáng)大,以前寫(xiě)圖片切換功能都好麻煩,小圓點(diǎn)的切換都要自己寫(xiě)。
被美麗說(shuō)少女粉吸引,就想著自己也寫(xiě)一個(gè)來(lái)練練手,正好最近在學(xué)習(xí)微信小程序。接下來(lái)讓我們分享一下我的學(xué)習(xí)歷程吧!
選題其實(shí)糾結(jié)了好久該仿什么,看到別人都寫(xiě)的差不多了,自己卻還沒(méi)有動(dòng)手,很著急,那兩天一直在思考在查找,弄得自己特別煩躁,后來(lái)想明白了,其實(shí)寫(xiě)什么都不要緊,關(guān)鍵在于這個(gè)過(guò)程中學(xué)到了什么,之前覺(jué)得要選一個(gè)看起來(lái)高大上的小程序,其實(shí)不然,只要自己喜歡,愿意認(rèn)真的去完成它,它就是值得你去做的。好啦,我們還是一起來(lái)看看我項(xiàng)目吧!!!
已實(shí)現(xiàn)功能圖片自動(dòng)切換
頁(yè)面跳轉(zhuǎn)
加入購(gòu)物車(chē)
商品數(shù)量的增減
商品展示
使用easy-mock獲取數(shù)據(jù)
部分功能展示 tabBar切換 加入購(gòu)物車(chē) 購(gòu)物車(chē)界面 頁(yè)面跳轉(zhuǎn) 部分功能介紹 圖片自動(dòng)切換使用swiper標(biāo)簽實(shí)現(xiàn)圖片輪播,indicator-dots為小圓點(diǎn),autoplay為true是圖片自動(dòng)切換。微信小程序的組件真的很強(qiáng)大,以前寫(xiě)圖片切換功能都好麻煩,小圓點(diǎn)的切換都要自己寫(xiě)。
加入購(gòu)物車(chē)wxml
{{good.name}} ¥{{good.price}} 庫(kù)存:{{good.count}} 運(yùn)費(fèi):{{good.freight}} 評(píng)價(jià) 評(píng)價(jià)(0) 詳情 產(chǎn)品詳情 {{good.name}} 購(gòu)物車(chē) 店鋪 加入購(gòu)物車(chē) 立即購(gòu)買(mǎi)
js
addInCart: function (e) { console.log( app.globalData.id); console.log(e); const good = this.data.good; // 根據(jù)index,判斷用戶(hù)點(diǎn)擊了哪個(gè)商品加入購(gòu)物車(chē) const cart = app.globalData.cartList; // 獲取購(gòu)物車(chē)列表 cart.push(good); // 用戶(hù)選擇商品加入購(gòu)物車(chē)后,將該商品加入購(gòu)物車(chē)列表 console.log(cart); console.log(app.globalData.cartList); wx.showModal({ title: "是否加入購(gòu)物車(chē)?", content:"數(shù)量為1", duration: 2000 }) },
app.js
globalData: { id:null, cartList:[] }
這個(gè)功能其實(shí)困擾了我一下,還去求助了同學(xué)(無(wú)奈),起初問(wèn)題就是當(dāng)點(diǎn)擊一件商品時(shí),不知道怎么讓另一個(gè)界面獲取到這個(gè)信息,后來(lái)同學(xué)告訴我要設(shè)置一個(gè)id,并且是在全局上設(shè)置id,當(dāng)點(diǎn)擊某件商品時(shí)給id賦值,這樣顯示商品信息的頁(yè)面就可以通過(guò)這個(gè)id來(lái)展示這件商品。
購(gòu)物車(chē)商品數(shù)量增減功能wxml 這里引用了weui框架,使用了mvvm功能
{{item.name}} 價(jià)格:¥{{item.price}} - {{item.num}} +
wx:for 在這里是循環(huán)數(shù)組,key設(shè)為index,這樣子我們就不用重復(fù)定義那么多的view。
雖然說(shuō)初學(xué)者自己寫(xiě)原生代碼會(huì)提升的快點(diǎn),可是還是要學(xué)會(huì)使用框架的,框架會(huì)給我們帶來(lái)便利,不過(guò)這個(gè)項(xiàng)目中wxss大部分都還是自己一點(diǎn)點(diǎn)磨出來(lái)的,其實(shí)很痛苦,但也從中學(xué)到了很多東西。
js
addCount:function (e) { var that = this; console.log(e); const goodId = e.currentTarget.id; console.log(that.data.goodsList[goodId]); that.data.goodsList[goodId].num++; console.log(that.data.goodsList[goodId]); this.setData({ goodsList: that.data.goodsList }) this.sumMoney(); }, // 減少商品數(shù)量 reduceCount: function(e) { var that = this; const goodId = e.currentTarget.id; // console.log(that.data.goodsList[goodId]); if(that.data.goodsList[goodId].num <= 1) { that.data.goodsList[goodId].num = 1; wx.showModal({ title: "數(shù)量小于1", content: "不允許操作", duration: 2000 }) } else { that.data.goodsList[goodId].num--; } // console.log(that.data.goodsList[goodId]); this.setData({ goodsList: that.data.goodsList }) this.sumMoney(); }, // 計(jì)算所有商品的錢(qián)數(shù) sumMoney: function() { var count = 0; const goods = this.data.goodsList; console.log(goods); for(let i = 0; i < goods.length; i++) { count += goods[i].num*goods[i].price; } this.setData({ sum: count }) }
給界面上的加減號(hào)添加了點(diǎn)擊事件,通過(guò)獲取id來(lái)判斷操作的是哪件商品,進(jìn)而使后臺(tái)數(shù)據(jù)同步。
有個(gè)重點(diǎn)需要說(shuō)說(shuō)!!
var that = this;
這就涉及到this的指向問(wèn)題了,在增減函數(shù)中,this的指向會(huì)發(fā)生改變,所以需要先把它賦值給that。
this真的很重要,需要把它弄得透徹,這樣子在敲代碼時(shí)才不會(huì)暈頭轉(zhuǎn)向。
// 獲取商品信息 onLoad: function () { wx.request({ url: "https://www.easy-mock.com/mock/5a27c7a27bf3ee170dc24b18/buygoods/buygoods", success: (res) => { console.log(res.data.data.goods); this.setData({ goods: res.data.data.goods }) } }) } })總結(jié)
通過(guò)這次的項(xiàng)目,學(xué)到了很多,首先就是需要靜下心來(lái),遇到不懂學(xué)會(huì)查文檔,自學(xué)能力很重要,遇到bug也不要急,慢慢調(diào)試,一步一步跟蹤,需要耐心和細(xì)心。在這個(gè)過(guò)程中發(fā)現(xiàn)自己還有很多地方不足,查文檔的能力,解決問(wèn)題的能力,代碼規(guī)范等等,都有待加強(qiáng)。
做每件事都需要給自己定個(gè)目標(biāo)和結(jié)束時(shí)間,不然一拖再拖,人都是有惰性的,需要逼自己一把,才能有提升。
這個(gè)項(xiàng)目不會(huì)停下,還會(huì)不斷改善,還有很多功能沒(méi)有寫(xiě),還有很多的知識(shí)沒(méi)有學(xué)習(xí),作為一個(gè)初學(xué)者還有很長(zhǎng)的路要走,堅(jiān)持吧,總會(huì)看到曙光~~~?
最后附上這個(gè)項(xiàng)目的github地址和個(gè)人的聯(lián)系方式,一起學(xué)習(xí),一起交流,一起進(jìn)步
項(xiàng)目地址:https://github.com/KingJons/b...
微信:lj18720711441
郵箱:1161403069@qq.com
如果覺(jué)得不錯(cuò)的話,給個(gè)小星星鼓勵(lì)一下吧!?
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/54490.html
摘要:被美麗說(shuō)少女粉吸引,就想著自己也寫(xiě)一個(gè)來(lái)練練手,正好最近在學(xué)習(xí)微信小程序。微信小程序的組件真的很強(qiáng)大,以前寫(xiě)圖片切換功能都好麻煩,小圓點(diǎn)的切換都要自己寫(xiě)。 被美麗說(shuō)少女粉吸引,就想著自己也寫(xiě)一個(gè)來(lái)練練手,正好最近在學(xué)習(xí)微信小程序。接下來(lái)讓我們分享一下我的學(xué)習(xí)歷程吧! 選題 其實(shí)糾結(jié)了好久該仿什么,看到別人都寫(xiě)的差不多了,自己卻還沒(méi)有動(dòng)手,很著急,那兩天一直在思考在查找,弄得自己特別煩躁...
摘要:被美麗說(shuō)少女粉吸引,就想著自己也寫(xiě)一個(gè)來(lái)練練手,正好最近在學(xué)習(xí)微信小程序。微信小程序的組件真的很強(qiáng)大,以前寫(xiě)圖片切換功能都好麻煩,小圓點(diǎn)的切換都要自己寫(xiě)。 被美麗說(shuō)少女粉吸引,就想著自己也寫(xiě)一個(gè)來(lái)練練手,正好最近在學(xué)習(xí)微信小程序。接下來(lái)讓我們分享一下我的學(xué)習(xí)歷程吧! 選題 其實(shí)糾結(jié)了好久該仿什么,看到別人都寫(xiě)的差不多了,自己卻還沒(méi)有動(dòng)手,很著急,那兩天一直在思考在查找,弄得自己特別煩躁...
摘要:為了提高自己,最近在學(xué)習(xí)微信小程序,選題是仿網(wǎng)易云音樂(lè)。查文檔發(fā)現(xiàn),小程序中圖片加載完成后,有一個(gè)加載完成事件。前者在微信客戶(hù)端版本就不開(kāi)始維護(hù)了,后者低版本需做兼容處理。目前還有一些功能暫未實(shí)現(xiàn),會(huì)在以后繼續(xù)完善項(xiàng)目,繼續(xù)學(xué)習(xí)。 為了提高自己,最近在學(xué)習(xí)微信小程序,選題是仿網(wǎng)易云音樂(lè)。期間踩過(guò)了大把的坑,bug出現(xiàn)的難受和解決bug歡喜,一直是伴隨我階段性學(xué)習(xí)這個(gè)項(xiàng)目的心情。初步完成...
摘要:并總結(jié)經(jīng)典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項(xiàng)目,在瀏覽器端的層面上提升速度,幫助初中級(jí)前端工程師快速搭建項(xiàng)目。 本文是關(guān)注微信小程序的開(kāi)發(fā)和面試問(wèn)題,由基礎(chǔ)到困難循序漸進(jìn),適合面試和開(kāi)發(fā)小程序。并總結(jié)vue React html css js 經(jīng)典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項(xiàng)目,在瀏覽器端的層面上提升速度,幫助初中級(jí)前端工程師快...
閱讀 3229·2021-11-23 09:51
閱讀 1039·2021-08-05 09:58
閱讀 668·2019-08-29 16:05
閱讀 979·2019-08-28 18:17
閱讀 3036·2019-08-26 14:06
閱讀 2726·2019-08-26 12:20
閱讀 2161·2019-08-26 12:18
閱讀 3069·2019-08-26 11:56