您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何開發的第一個小程序,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
在使用wx.request
后獲得的數據要寫入Page
的data
,與Vue.js不同的是,小程序需要調用this.setData
,同時里面如果寫入時修改到的對象里面的屬性,應定義一個變量連接對象和屬性合成的字符串,再通過中括號[]
將其包起來。例如:
var temp='person.name'; ...... this.setData({ [temp]:'Mike' })
在界面中涉及到評分的star化,這里采用了一個比較笨的方法。就是準備星星可能的三種狀態的圖片,然后根據分數算出具體的分數數組,最后遍歷該數組,對應每一顆星星應該展示的狀態。
<block wx:for="{{dbMarkArr||myStarArr}}" wx-for-item="item" > <image wx:if="{{item===0}}" src='../../static/image/empty.png'></image> <image wx:if="{{item===1}}" src='../../static/image/half.png'></image> <image wx:if="{{item===2}}" src='../../static/image/full.png'></image> </block>
在這里使用了小程序的模版template
。需要注意的是這里有一個坑,模版的文件名字和模版里的name
必須一致。
在頁面渲染時,有可能因為網絡問題導致豆瓣數據返回不夠及時,然后進一步導致頁面模版設置數據時,data
里的值不是需要的值。這里糾結了很久,最后選擇了一個相當不優雅的做法,即將設置相關數據的函數延時了2秒后執行。如果豆瓣數據能在2秒內返回,那么問題看起來解決了,如果2秒內沒有獲得有效數據,問題就并沒有解決。再者,2秒對用戶體驗絕對有相當大的影響,但是這里也不知道該用什么辦法解決...
在小程序的初期,本來打算實現日歷點擊跳轉到對應電影頁面的功能,后來覺得不好便沒做,不過日歷倒是實現了一遍。思路比較清晰,先獲取當前時間,并計算出當前月份的第一天和最后一天分別對應的是星期幾,接著再計算第一天前和最后一天后應該還應該顯示幾天。然后將上個月的、這個月的、下個月的連接成一個數組,接著根據數組分周:
for (var i = 0; i < calendar.length; i++) { if (i % 7 == 0) { weeks[parseInt(i / 7)] = new Array(7); } weeks[parseInt(i / 7)][i % 7] = calendar[i]; }
接著渲染:
<view class='calendarBody'> <block wx:for="{{calendar.weeks}}" wx:for-item="weeks" > <view class='calendar-body-weeks'> <block wx:for="{{weeks}}" wx:for-item="day"> <view class="calendar-body-day {{calendar.month==day.month&&calendar.date==day.date? 'is-current':' '}} {{calendar.month!=day.month?'nou-curMonth':' '}}" data-date='{{day.date}}' bindtap='selectDate'>{{day.date}}</view> </block> </view> </block> </view>
關于“如何開發的第一個小程序”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。