mpvue 采坑


這是第一次用mpvue寫項目啊,雖然項目難度不大,但是碰到的問題不小,而且項目還沒上線,估計到時候還會碰到問題,所以這篇應該還會更新。

 

小程序,跟瀏覽器的環境是有挺多差異的,比如沒有window對象,頁面也不是在body元素里,而是page元素里,div變成了view,而圖片的引入,小程序是沒有img標簽的,mpvue會自動把img轉成小程序的image,有一點比較坑的就是小程序的這個標簽的寬高會有預設 

width: 320px; height: 240px;

  所以你像普通的瀏覽器里那樣,設置一個圖片的寬,然后高度會自適應是不現實的,解決辦法的話,要不然就是寬高你的設定好,但是這樣比較局限,好在image 有個屬性 

mode="widthFix"

 設置了這個屬性后,image 就 可以像img標簽一樣了。

 

mpvue里能使用npm 裝部分的插件,但有些東西裝不了,例如vue全家桶里的vue-router,據官網說,是因為小程序原生的路由已經很完善了,所以直接使用小程序路由就好,還有表單組件啊,ajax啊,網上都有推薦用小程序原生的,但是我項目里ajax使用了flyio,因為要考慮這個項目可以移植到H5上。

 

還有微信里經常的拖動頁面導致出現空白部分的,可以想要禁止的頁面建一個main.json  然后設置 

{
    "disableScroll": true   
}

 

我項目由於是個重構項目 之前這個項目的用到了canvas,小程序里也有,但是就是和瀏覽器有些許差異,比如  canvas.getContext('2d')  在mpvue 也就是小程序里是這樣的 wx.createCanvasContext(canvas)  然后需要一個draw() 方法才會繪制,這些查文檔都有,但是有個比較坑的,在web是  fillStyle 在小程序里是  setFillStyle,不知道是不是我粗心大意,我沒在文檔里查到, 卡了有段時間,自己網上找例子找到了。

 

總結 mpvue 不能完全模擬vue來寫小程序,但我感覺比直接學原生要更快接受一點,好些vue的東西都可以使用,比如slot v-html(官網還說不能使用...我去問了人才知道可以使用),但也可能是我這個項目不復雜,如果大型項目,應該還是要斟酌一下,是直接原生,還是學習這種流行庫轉小程序或者說是用流行庫語法來寫小程序的。目前市面上有很多這種,截止今天18/09/04,我知道的就有小程序官方wepy、美團mpvue,這是vue方面的,react的有taro、anujs(在正美群里天天看正美發...),五花八門,選都選不過來,當然最后這些都是會轉為小程序的,所以如果繼續做小程序下去,學習原生語法是一定不會虧的,就怕微信經常改API就完蛋了!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM