Vue.prototype.$store = store
this.$store
使用使用 vue.js 規範php
<!-- 小程序 --> <view class="tab-item {{currentTab==0 ? 'on' : ''}}" >超然haha</view> <view current="{{currentTab}}" style="height:{{currentTab==1?Height+'rpx':'100%'}}">超然haha</view> <!-- vue.js --> <view class="tab-item" :class="{'on': currentTab==0 ? true : false}" >超然haha</view> <view :current="currentTab" :style="{'height':currentTab==1 ? Height+'rpx':'100%'}">超然haha</view>
小程序原生事件 ---> vue.js 規範
css
列表中沒有的原生事件也可使用例如 bindregionchange
事件直接在 dom
上將 bind
改成@ @regionchange
,在監聽此類事件的時候同時監聽事件名和事件類型既 <map @regionchange="functionName" @end="functionName" @begin="functionName"><map>
html
不支持組件引用時原生事件vue
關於修飾符ios
<script type="text/x-template">
字符串模版等都不支持this.$root.$mp.query
this.$root.$mp.appOptions
mpvue 是兼容微信小程序的生命週期與 vue 的生命週期,vue 實例會接管小程序 Page 實例的生命鉤子,所以須要使用到小程序的生命週期鉤子時,可將相應的鉤子方法定義在 vue 實例中
如定義當前Page的分享標題內容圖片:git
new Vue({ data () { return { score: '' } }, onShareAppMessage (res) { return { title: '我得到 ' + this.score + ' 分,快來一塊兒掌握基礎音階知識吧!', path: '/pages/index/index', imageUrl: 'https://wechat.dddog.com.cn/static/wescale.jpg' } } })
input, map, canvas, video, live-player,camera , textarea
是由客戶端建立的原生組件,層級最高,z-index 沒用
而其它組件都是基於Web Component規範實現的Custom Element,而諸如picker彈出選擇器行爲,navigator跳轉行爲,都是基於微信原生提供的能力,理解爲調用wx.xxxApigithub
微信小程序的組件是否都是原生實現的,相似React Native?
No,小程序視圖層仍然依賴於Webview,只有部分組件是原生組件,用來解決Mobile Web體驗問題。目前原生組件包括:
input,textarea,video,map,canvasvuex
- tip: input 組件是一個 native 組件,字體是系統字體,因此沒法設置 font-family;
- tip: textarea 組件是由客戶端建立的原生組件,它的層級是最高的。
- tip: video 組件是由客戶端建立的原生組件,它的層級是最高的。
- tip: map 組件是由客戶端建立的原生組件,它的層級是最高的。
- tip: canvas 組件是由客戶端建立的原生組件,它的層級是最高的。
小程序頁面跳轉打開最多五層,超出五層不會跳轉了npm
mpvue 組件名大寫會提示,統一小寫,警告信息以下:
json
微信小程序不支持本地引用背景圖片(image 標籤支持本地圖片)、音頻、視頻,因此須要外鏈。對於圖片還可使用 Base64 編碼,直接在 html 或 css 中引用
<img src="../../images/logo.png">
解決方案:
import
進來,或把圖片放在 static 目錄下background-image
base64 編碼
background-image: url('轉換後的編碼') <!-- 若是屢次引用可將其設爲全局變量,在js文件引用 -->
使用 image 組件,去掉背景圖(可使用相對路徑)
wx.request
post 方法參數傳輸失敗
wx.request
post 的 content-type
默認爲 application/json
若是服務器沒有用到 json 解析,能夠更改 content-type
爲 urlencoded
wx.request({ ... method: 'post', header: { 'content-type': 'application/x-www-form-urlencoded' }, ... })
小程序的機制,是在退出五分鐘內進入,就會顯示的是退出前的頁面,若是你但願進入小程序都至關於冷啓動的方式,直接進入主頁面。你能夠在page的onUnload裏面裏面set一個值,而後在app的onShow的時候判斷這個值,而後決定是否跳到首頁~
錄音暫停事件
監聽狀況:
不能監聽:
見博文-目前未更新: mp - Voice stream processing
--待續
地圖上覆蓋層——可實現
組件支持:
cover-view
& cover-image
事件支持:
假如工具內開啓不校驗域名選項
此時,調試模式下,能夠不校驗域名問題;http或者不合規範的請求地址將被容許,好比帶有端口的地址(正常狀況下url是不容許帶端口的)
主要用途:
request fail
問題排查
域名沒有備案或或是備案後不足24小時;備案未生效
ssl 協議有問題
其餘可參考:https 解決方案
字體/第三方UI庫引用不支持
@font-face { font-family: '字體名稱'; src: url("../../resources/font/UKIJTuzTom.eot"); font-weight: normal; font-style: normal; }
微信小程序 @font-face 裏 添加url地址沒用, 因此 URL地址替換掉 base64 編嗎實現
http://transfonter.org/
網站裏 上傳字體,選擇base64 編嗎 ,fotmat後下載基於canvas 繪製,體積小巧
因爲微信小程序自己框架的限制,很難集成目前已有的圖表工具,顯示圖表目前有兩種方案:
wxcharts 採用第二種方案
如何使用
直接引用編譯好的文件 dist/wxcharts.js
或者 dist/wxcharts-min.js
git clone https://github.com/xiaolin3303/wx-charts.git npm install rollup -g npm install rollup -c 或者 rollup --config rollup.config.prod.js