麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

mpvue構建小程序的方法(步驟+地址)

2019-11-19 13:47:59
字體:
來源:轉載
供稿:網友

mpvue是一個使用Vue.js開發小程序的前端框架(美團的開源項目)。框架基于Vue.js核心,mpvue修改了Vue.js的 runtime 和 compiler 實現,使其可以運行在小程序環境中,從而為小程序開發引入了整套Vue.js開發體驗。

mpvue你可以使用你熟悉的vue框架語法,雙向綁定讓你不用再使用wx的this.setData了,你可以使用npm方便的引入第三方了,真的是貧窮限制了我的想象力啊。個人感覺mpvue比wepy更加簡單,上手更加方便,mpuve五分鐘教程快速構建。

項目git地址:mpvue-demo(代碼注釋很全,使用mpvue很簡單構建一個小程序,拓展)

step1: 查看文檔快速構建simple mpvue project

# 全局安裝 vue-cli$ npm install --global vue-cli# 創建一個基于 mpvue-quickstart 模板的新項目$ vue init mpvue/mpvue-quickstart my-project# 安裝依賴$ cd my-project$ npm install# 啟動構建$ npm run dev

這里我取消了vuex(狀態管理)和ESlint(代碼檢查),因為個人不喜歡檢測空格和;的規范,你可以根據你的需求配置。

step2:修改代碼,微信開發者工具打開dist目錄,查看是否發生改變。

step3:封裝api和http請求(這里使用的是flyio,除了請求取消,其他功能基本相似axios,大小只有4kb,是axios的三分之一)

package.json加入依賴或者npm install flyio

var Fly=require("../lib/wx") //wx.js為您下載的源碼文件// var Fly=require("flyio/dist/npm/wx") //npm引入方式var fly=new Fly(); //創建fly實例//添加攔截器fly.interceptors.request.use((config,promise)=>{  //給所有請求添加自定義header  config.headers["X-Tag"]="flyio";  return config;})//配置請求基地址fly.config.baseURL="https://wendux.github.io/"...Page({ //事件處理函數 bindViewTap: function() {  //調用  fly.get("http://10.10.180.81/doris/1/1.0.0/user/login",{xx:6}).then((d)=>{   //輸出請求數據   console.log(d.data)   //輸出響應頭   console.log(d.header)  }).catch(err=>{   console.log(err.status,err.message)  })  ... })})

step4: 將flyio封裝的請求和項目api作為組件庫掛載在原型對象上,這樣不用每個vue單頁面都import 封裝的js,直接使用this.$http調用方法。(flyio官方文檔)

httpUtil.js

var Fly=require("../lib/wx") //wx.js為您下載的源碼文件// var Fly=require("flyio/dist/npm/wx") //npm引入方式var fly=new Fly(); //創建fly實例//添加攔截器fly.interceptors.request.use((config,promise)=>{  //給所有請求添加自定義header  config.headers["X-Tag"]="flyio";  return config;})//配置請求基地址fly.config.baseURL="https://wendux.github.io/"...Page({ //事件處理函數 bindViewTap: function() {  //調用  fly.get("http://10.10.180.81/doris/1/1.0.0/user/login",{xx:6}).then((d)=>{   //輸出請求數據   console.log(d.data)   //輸出響應頭   console.log(d.header)  }).catch(err=>{   console.log(err.status,err.message)  })  ... })})

apiUtil.js

/** * Created by yuchen on 2018/4/2. *///封裝httpApiimport request from './httpUtil'const host = "https://XXX.cn"const api = { // test地址 authorList:() => request.get(`${host}/index/list_author_recommend.html`)}// export default apiexport default { //作為組件庫(install) install: function(Vue,name="$http") {//自定義名字(vue-resource也使用$http)  Object.defineProperty(Vue.prototype, name, { value: api });//將組件庫掛載在原型對象上 }}

step5:vue組件(mpvue官方項目中就創建了card組件,這里注意class需要寫在組件內部里面,不然渲染不出來)

step6:頁面跳轉和傳參(這里mpvue不支持vue-router)

使用微信的頁面跳轉方法,然后跳轉頁面使用this.$root.$mp.query獲取參數。

step7:引入weui,測試效果(根據你的需求引入UI庫,不支持elementUI,或者不使用)。

下載weui.css放入項目中,import引入css,如:import '../static/weui/weui.css'

補充下使用mpvue需要注意的地方(具體參考官方文檔)

1.新增頁面需要npm run dev重啟一下。

2.小程序里所有的 BOM/DOM 都不能用,也就是說v-html指令不能用。

3.暫不支持在組件上使用 Class 與 Style 綁定,需要在組件內部書寫。

4.mpvue 可以支持小程序的原生組件,比如:picker,map等,需要注意的是原生組件上的事件綁定,需要以vue的事件綁定語法來綁定,如bindchange="eventName"事件,需要寫成@change="eventName"。

5.mpvue建議使用v-model.lazy綁定方式以優化性能,此外v-model在老基礎庫下輸入框輸入時可能存在光標重設的問題。

6.寫頁面跳轉時候傳入動態參數,需要寫成:url,如:<navigator url="'../test/main?id='+id hover-class="none""。

7.通過this.$root.$mp.query進行獲取小程序在 page onLoad 時候傳遞的 options。通過this.$root.$mp.appOptions進行獲取小程序在 app onLaunch/onShow 時候傳遞的 options。

8.使用this.$root.$mp.query獲取參數需要在monted中獲取,在created中會報Cannot read property 'query' of undefined 。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中文字幕综合在线观看 | 天天躁狠狠躁夜躁2020挡不住 | 视频一区二区三区在线观看 | 在线播放黄色网址 | 欧美不卡视频在线观看 | 手机国产乱子伦精品视频 | 国产精品刺激对白麻豆99 | 日韩精品中文字幕一区二区三区 | www.热| 亚洲欧美成aⅴ人在线观看 av免费在线播放 | 中文字幕www | 久久亚洲网 | 国产精品9191 | 亚洲免费视频大全 | 午夜爽爽爽男女免费观看hd | 热@国产| 欧美中文字幕一区二区 | 亚洲第一综合色 | 4399一级成人毛片 | 凹凸成人精品亚洲精品密奴 | 猫咪av在线 | 日韩剧情片 | 黄色羞羞视频在线观看 | hd日本xxxx | 成人午夜免费在线视频 | 亚洲第一视频在线 | www.17c亚洲蜜桃 | 毛片免费观看视频 | 日本网站在线播放 | 欧美在线a | 视频一区免费观看 | 国产毛片在线高清视频 | 国产女厕所| 91精品视频免费 | 精品乱码久久久久 | 久久最新视频 | 黄色毛片观看 | 天天夜夜操操 | 久久久久久久久成人 | china对白普通话xxxx | 欧美激情性色生活片在线观看 |