小程序开发注意事项
● 1 要區分一下一個新的頁面的業務邏輯適合放在onload里面去做請求還是適合在onshow里面去請求數據。
● 2 頁面的各種請求可以放到onShow 中,這樣的話可以從返回上一個頁面時,上一個頁面的數據進行重新加載,以便于獲取最新的數據; 同時也可以避免wx.getCurrentPage來取數據。
● 3 每個頁面中的data 數據,盡量使用對象的方式,可以設置多個屬性值。避免以后維護過程中不知道每個變量的含義。
● 4 獲取用戶輸入的內容,盡量用bindinput ,驗證的時候使用bindblur。
● 5 數據分頁加載的功能,其實是聲名一個空數組,這個空數組carlist就是頁面的數據列表,每次請求到的數據,利用數組的concat() 方式將新請求到的數據跟之前的數組鏈接起來,形成分頁加載的效果,如果請求的數據是空,則顯示到底了,如果第一次請求數據就是空,則顯示時暫無數據; 這樣不以依據默認的carlist.length==0來顯示暫無數據圖片造成的閃現。
● 6 把JS功能封裝成單獨的模塊,不要再放在同一個common中。為了以后方便遷移和結構的升級。
● 7 公共樣式也要進行封裝,避免后期太多、太亂。
● 8 每個頁面要對上一個頁面的傳值就行驗證,避免因為傳值不對造成功能不能使用或者頁面崩潰的情況。
● 9 開發的過程中,首頁對整個業務流程進行構思,根據業務流程開發,一定要合理安排好每個業務的功能模板中最核心的業務,核心模板不僅僅涉及個人,還關系到測試方面,甚至其他人的進度工作。
● 10 能用一個頁面的 ,盡量整合成一個頁面。比如:詳情頁和sku。甚至以后的活動頁面。
● 11 對于已經加載到底的圖標,由于圖片和文字兩邊各有一個”---------”,可以用兩個空盒子,然后設置border-top的方式形成兩邊的橫線。
● 12 所有的按鈕都要有交互反饋。確保讓用戶能感受到我確實點擊了按鈕。
● 13 所有的按鈕,尤其是提交類型的按鈕,最好都要進行單擊次數的限制,目的是為了避免數據的重復提交,在交易網站中的目的是避免重復下單。
● 14 所有的數據下載或上傳的時候,預加載效果不僅僅是個樣式,也是保證每次的數據能夠有時間上傳或者下載的過程。
● 15 確保git 中的代碼與最新項目版本能夠有一套完全相同的,同時也要預估好線上項目突發機制,另外確保項目再git 中有各個歷史版本,確保項目如果有突發風險,可以及時利用上一個版本進行替換,不至于導致項目無法使用;但是最好是檢查好,不要出現突發情況。
● 17 首先要想到的并且加入到項目的首要功能是版本更新機制,比如小程序的版本更新機制,原因:可能因為版本不及時更新導致很多不良后果;另外版本號要在上線項目中表明,以便于進行區分工作。
● 18 每次修改一個內容,都要看一下是否把原本沒問題的流程影響了,導致bug
● 19 代碼上線前,一定要審核是否有相關的重要代碼被注銷了,否在帶來的后果是不堪設想的。
● 20 代碼發布時一定要考慮到有一個版本,保證核心業務流程能夠不受影響的正常使用。
● 2 頁面的各種請求可以放到onShow 中,這樣的話可以從返回上一個頁面時,上一個頁面的數據進行重新加載,以便于獲取最新的數據; 同時也可以避免wx.getCurrentPage來取數據。
● 3 每個頁面中的data 數據,盡量使用對象的方式,可以設置多個屬性值。避免以后維護過程中不知道每個變量的含義。
● 4 獲取用戶輸入的內容,盡量用bindinput ,驗證的時候使用bindblur。
● 5 數據分頁加載的功能,其實是聲名一個空數組,這個空數組carlist就是頁面的數據列表,每次請求到的數據,利用數組的concat() 方式將新請求到的數據跟之前的數組鏈接起來,形成分頁加載的效果,如果請求的數據是空,則顯示到底了,如果第一次請求數據就是空,則顯示時暫無數據; 這樣不以依據默認的carlist.length==0來顯示暫無數據圖片造成的閃現。
● 6 把JS功能封裝成單獨的模塊,不要再放在同一個common中。為了以后方便遷移和結構的升級。
● 7 公共樣式也要進行封裝,避免后期太多、太亂。
● 8 每個頁面要對上一個頁面的傳值就行驗證,避免因為傳值不對造成功能不能使用或者頁面崩潰的情況。
● 9 開發的過程中,首頁對整個業務流程進行構思,根據業務流程開發,一定要合理安排好每個業務的功能模板中最核心的業務,核心模板不僅僅涉及個人,還關系到測試方面,甚至其他人的進度工作。
● 10 能用一個頁面的 ,盡量整合成一個頁面。比如:詳情頁和sku。甚至以后的活動頁面。
● 11 對于已經加載到底的圖標,由于圖片和文字兩邊各有一個”---------”,可以用兩個空盒子,然后設置border-top的方式形成兩邊的橫線。
● 12 所有的按鈕都要有交互反饋。確保讓用戶能感受到我確實點擊了按鈕。
● 13 所有的按鈕,尤其是提交類型的按鈕,最好都要進行單擊次數的限制,目的是為了避免數據的重復提交,在交易網站中的目的是避免重復下單。
● 14 所有的數據下載或上傳的時候,預加載效果不僅僅是個樣式,也是保證每次的數據能夠有時間上傳或者下載的過程。
● 15 確保git 中的代碼與最新項目版本能夠有一套完全相同的,同時也要預估好線上項目突發機制,另外確保項目再git 中有各個歷史版本,確保項目如果有突發風險,可以及時利用上一個版本進行替換,不至于導致項目無法使用;但是最好是檢查好,不要出現突發情況。
● 17 首先要想到的并且加入到項目的首要功能是版本更新機制,比如小程序的版本更新機制,原因:可能因為版本不及時更新導致很多不良后果;另外版本號要在上線項目中表明,以便于進行區分工作。
● 18 每次修改一個內容,都要看一下是否把原本沒問題的流程影響了,導致bug
● 19 代碼上線前,一定要審核是否有相關的重要代碼被注銷了,否在帶來的后果是不堪設想的。
● 20 代碼發布時一定要考慮到有一個版本,保證核心業務流程能夠不受影響的正常使用。
● 21 事件對象中target屬性和currentTarget屬性區分?
解答:target屬性 是個對象,指的是觸發事件的源組件,而currentTarget屬性表示的是當前組件。通常情況下兩者都是一致的,但是當組件嵌套時,外層組件和內層組件都綁定了事件,當內層的組件綁定的事件觸發時,外層的這兩個屬性便會不一樣。target則指向內層組件,currentTarget則指向外層組件。
● 22文件導入有三種方式?
解答:①當導入模板文件時使用的是<import src="模板文件路徑' />;②使用<include src="源文件路徑" />,本方法會導入除去模板文件外所有的資源;③@import "wxss樣式文件路徑"; 以此方法導入需要的樣式文件。
● 23 微信小程序提示授權彈窗,如果用戶第一次點擊拒絕之后,一段時間將不會再次彈出來,然后用戶又不知道什么原因用不了小程序,這是個很糟糕的用戶體驗,我們應該優雅的處理這種情況
● 24 小程序問題
- 不支持跳轉外部鏈接
- text可以解析/n,
- 目前不支持識別圖中二維碼,
- 背景圖片不能用本地圖片,
- wx.navigateTo需要跳轉的應用內非 tabBar 的頁面的路徑
- wx.switchTab跳轉到tabBar頁面,
- wx.showToast(),icon只支持success和loading,但是支持image,且image優先級高于icon
- tabBar頁面A navigatorTo 到頁面B,然后B switchTab 到A,這里A會執行onShow();
但是我再從A跳到B再switchTab回來,A就不會再執行onShow()了 - 在json文件中沒有寫內容的時候也要加一對大括號{ },不然的話也會報錯?
- .我們使用app.json文件來對微信小程序進行全局配置,決定頁面文件的路徑、窗口表現、設置網絡超時時間、設置多 tab 的時候在pages中寫注釋的時候回報錯。?
- 小程序button按鈕自帶邊框效果,而且直接設置border無法去掉,需要設置:after的樣式
- 正常事件綁定使用的是bindtap,但是該方法無法阻止事件冒泡,這樣就會觸發父元素綁定的事件,小程序提供另一種方法來解決該問題,使用catchtap事件替換bindtap即可;
轉載于:https://www.cnblogs.com/gavinjay/p/9587906.html
總結
- 上一篇: 不锈钢表面处理剂用什么化学物质
- 下一篇: 固定床气化过程中生物质反应的第二阶段是什