原生小程式轉mpvue踩坑總結
坑一:mpvue開發小程式時候,要新增靜態本地圖片
- 報錯:
VM14878:2 Failed to load local image resource /images/bg.png
the server responded with a status of 404 (HTTP/1.1 404 Not Found)
*解決方法:將放圖片的資料夾放在static資料夾裡,static是專門用來放靜態檔案的
坑二:data中每個鍵值對,:後面要有空格;
- 報錯:
✘ http://eslint.org/docs/rules/key-spacing
Missing space before value for key 'tabs'
srcpagestestindex.vue:22:12
坑三:字串必須以單引號包括;
- 報錯:
✘ http://eslint.org/docs/rules/quotes Strings must use singlequote
srcpagestestindex.vue:23:9
坑三:定義函式時,(括號)前(後)都要有空格
- 報錯:
✘ http://eslint.org/docs/rules/space-before-function-paren
srcpagestestindex.vue:31:23
坑四:函式中各語句間不用加分號
坑五:button按鈕獲取使用者資訊,weui裡好像不對;
直接為button新增點選事件,設定其open-type和lang,在函式回撥裡即可獲得使用者資訊
程式碼如下:
<template> <div> <button v-on:click="click" open-type="getUserInfo" lang="zh_CN">按鈕</button> </div> </template> <script> export default { methods: { click: function (e) { console.log('userInfo', e) } } } </script>
表單事件的提交與重置
在form上繫結@submit(@reset)="dddd",在button上設定其form-type="submit/reset"執行相關操作
資料結構看console列印的結果
如果form或button忘記上述設定,其回撥函式中返回的是滑鼠的點選事件
若form繫結的不是@submit,而是@click,則點選表單內任一元素均會提交表單
在使用sublime時,不要使用tab,這會使其縮進出現問題!!!
Trailing spaces not allowed
*表示你在該行有多餘的空格
分享功能不能寫在components中,要寫在父元件裡
否則報錯:
Cannot read property 'apply' of null;at pages/commit-done/index page onShareAppMessage function
TypeError: Cannot read property 'apply' of null
使用第三方框架,坑較多,在允許的情況下,可使用原生元件
書寫規範問題
報錯
✘ http://eslint.org/docs/rules/space-infix-ops Infix operators must be spaced
src\pages\hzw_text\index.vue:34:23
for (var i = 1; i <4; i++) {
意思是4前面需要一個空格
使用mpvue自定義左邊膠囊按鈕時,由於單位不充一問題,自定義膠囊和系統膠囊在不同型號手機上不同對齊
原因分析:系統膠囊使用pt為單位,但mpvue轉小程式時,px單位轉為rpx,會自適應變化;
解決方法: 使用絕對單位 pt