1. 程式人生 > >原生小程式轉mpvue踩坑總結

原生小程式轉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


坑三:定義函式時,(括號)前(後)都要有空格

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