mpvue 用 vue 的語法開發小程序,用着很爽可是也有不少坑,在這裏記錄下踩過坑。vue
全部頁面的 created 在小程序初始化時都會觸發,mounted 對應小程序的 onLoad,因此 mpvue mounted 至關於 vue 中的 created。npm
mounted() { // 相對應小程序的 onLoad // 獲取數據 this.getData(); },
vue 中獲取數據放到 created 中,mpvue 則放到 mounted 中。json
1. keep-alive 2. solt 3. class 和 style 的 classObject 和 styleObject 語法。 4. filters
<template> <!-- 支持 --> <div class="container" :class="computedClassStr"></div> <div class="container" :class="{active: isActive}"></div> <!-- 不支持 --> <div class="container" :class="computedClassObject"></div> </template> <script> export default { data () { return { isActive: true } }, computed: { computedClassStr () { return this.isActive ? 'active' : '' }, computedClassObject () { return { active: this.isActive } } } } </script>
filters 能夠使用 motheds 或者 computed 替換
mpvue-loader 版本 1.1 以上須要新建 main.json 做爲配置文件。小程序
圖片使用相對路徑沒法加載,放到 dist/static 目錄下使用絕對路徑便可。緩存
新建頁面後須要從新 npm run dev 才能生效this
小程序中頁面返回後該頁面就會出棧,下次進入從新觸發 onLoad,可是 mpvue 返回後頁面沒有銷燬,數據會緩存,因此進入頁面咱們須要重置數據。code
onLoad() { // 解決頁面返回後,數據沒重置的問題 Object.assign(this, this.$options.data()); }, methods: { },