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