Uniapp 是基于 Vue.js 构建的跨平台应用开发框架,可以开发出一套代码同时在多个平台上运行,其中小程序是 Uniapp 的一个平台之一。 Uniapp 的推出帮助开发者实现了“一处开发,多平台发布”的梦想,但是也存在一些坑点需要注意。
1. 全局变量命名
在 Uniapp 中,为了不与其它页面的变量重名,需要使用 uni.做一个统一的前缀,在全局变量命名时,需要遵循同样的规范,避免不必要的冲突。
2. 样式问题
由于小程序对于样式的支持存在一些局限,因此在编写样式时需要注意一些问题,比如:不能使用html标签,需要使用小程序特定的标签;不能使用一些高级选择器,需要写切换类实现;还需要注意一些常规的样式写法,比如z-index要写在this.$nextTick里等等。
3. 数据传递
在小程序中,数据的父子页面和兄弟页面之间的传递需要使用特定的方法,比如:父子页面传数据需要使用$emit和$on方法,在兄弟页面传输数据需要使用uni.$emit和uni.$on方法。
4. 生命周期
小程序中的生命周期和 Vue 的生命周期有所不同,在编写时需要特别注意,uni-app中的某些钩子函数、与uni-app的页面生命周期相关的布尔值会因为各端的差异而产生较大变化,如mounted, onShow,需要特别注意验证其在当前端是否存在和是否被调用。
5. 接口请求
在请求接口时,Uniapp 内置的请求库 $http 可以很好地完成调用,但是在小程序端需要注意一些问题,比如:需要在manifest.json文件中配置变量,以便正确的请求域名和端口;请求前需要判断网络是否可用等等。
6. 版本问题
不同平台之间的版本兼容问题也存在,uni.app 的发布平台众多,如微信小程序、支付宝小程序等等,不同的平台在支持的API上有所差异,在编写时需要特别注意跨平台兼容性。
总之,在使用 Uniapp 开发小程序时,需要注意细节问题,确保程序能够正常运行。