mpvue
mpvue是一个使用Vue.js开发小程序的前端框架,由美团点评技术团队开发,在2018年3月开源。
框架原理:
- mpvue 保留了 vue.runtime 核心方法,无缝继承了 Vue.js 的基础能力。
- mpvue-template-compiler 提供了将 vue 的模板语法转换到小程序的 wxml 语法的能力。
- 修改了 vue 的建构配置,使之构建出符合小程序项目结构的代码格式: json/wxml/wxss/js 文件。
新建项目:
- 全局安装vue-cli:
npm install --global vue-cli
; - 安装桥接工具:
npm install -g @vue/cli-init
; - 创建一个基于项目mpvue-quickstart模板的新项目mpvue-demo:
vue init mpvue/mpvue-quickstart mpvue-demo
; - 安装依赖:
npm install
; - 启动项目:
npm run dev
; - 在Webstorm中导入项目进行开发,在微信开发者工具中导入项目进行调试;
生命周期:
除了Vue本身的生命周期外,mpvue还兼容了小程序生命周期。但除特殊情况下,不建议使用小程序的生命周期钩子。
微信小程序页面的query参数是通过onLoad获取的,mpvue对此进行了优化,直接通过
this.$root.$mp.query
获取相应的参数数据,其调用需要在onLoad生命周期触发之后使用。
模板语法:
- 不支持v-html指令。
- 不支持复杂的JS渲染表达式。
- 不支持过滤器。
Class与Style绑定:
- 不支持classObject 和 styleObject 语法。
- 不支持在组件上使用Class与Style绑定。
小程序组件:
mpvue可以支持小程序的原生组件,比如:picker
等,但是原生组件上的事件绑定,需要以vue的事件绑定语法来绑定,比如:bindchange
需要写成@change
。