一、
1、uni-app 1.8 开始支持微信小程序自定义组件
2、
新版支持了更多 Vue 语法,详细如下:
支持过滤器 filter
支持比较复杂的 JavaScript 渲染表达式
支持在 template 内使用 methods 中的函数
支持 v-html(同 rich-text 的解析)
支持 v-slot 新语法
支持解构插槽 Prop 设置默认值
支持 slot 后备内容
组件支持原生事件绑定,如:@tap.native
新版不支持的 vue 语法
class 不支持绑定 Obejct 变量(使用字符串的形式绑定)
不支持事件修饰符:prevent、passive(在 App 与小程序平台,使用 stop 修饰符,既可以阻止冒泡也能阻止默认行为)
不支持 render、inline-template、X-Templates、keep-alive、transition
不支持使用 Vue.use 的方式注册全局组件(在 main.js 使用 Vue.component 的方式引入)
3、前缀 wx 替换为 uni
4、开发环境和生产环境
if(process.env.NODE_ENV === ‘development’){
console.log('开发环境')
}else{
console.log('生产环境')
}
5、尽量避免将静态的样式写进 style 中
6、支持使用在 css 里设置背景图片
二、
1、模板中不建议直接使用 object(可以将 object 定义到 data 中)
2、在模板中未使用的数据不建议定义在 data 中,未使用的数据一律移除到 vm 外边定义
3、为提升开发体验,新版本增加了部分 Vue 语法,其实这些语法在微信小程序中本身是不支持的;为支持这些语法,uni-app 会在编译、运行时分别做一些额外的工作,若开发者希望追求性能极致,则建议尽量少用或者不用新增语法。