1、uniapp优缺点
优点:1、多端开发,一套代码可以生成ios、安卓、微信小程序、支付宝小程序等。
2、学习成本低,uniapp封装的组件与微信小程序相似,并且基于vue.js,上手快。
3、结合HBuilder开发速度快。
缺点:完善性较差,uni-app问世的时间还比较短,坑多。如果想要一个更稳定、坑更少的开发环境,建议选择其他平台。
2、 uni-app事件总线
事件总线可以作为组件沟通的桥梁,就像是所有组件共用相同的事件中心,可以向该中心注册发送事件或接收事件
在uni中可以通过uni.$emit(eventName,OBJECT)来触发全局的自定事件
通过uni.$on(eventName,callback)监听全局的自定义事件
通过uni.$off([eventName, callback])移除全局自定义事件监听器。
注意事项:如果没有提供参数,则移除所有的事件监听器;
如果只提供了事件,则移除该事件所有的监听器;
如果同时提供了事件与回调,则只移除这个回调的监听器;
提供的回调必须跟$on的回调为同一个才能移除这个回调的监听器;
3、 uni-app中的本地存储数据和接收数据是什么
// 同步储存和读取
// 存
uni.setStorageSync('name','LZJAPYX,ZDL'); // name为键名 LZJAPYX,ZDL为键值
// 取
uni.getStorageSync('name') // 以健名取键值
// 删除
uni.removeStorageSync('name') // 删除该键名的数据
// 存
uni.setStorage({
key: "name", // 键名
data: "LZJAPYX,ZDL" // 键值
});
异步存储和读取
// 取
uni.getStorage({
key: "name", // 键名
success(res){
console.log.(res.data) // LZJAPYX,ZDL
}
});
// 删除
uni.reomveStorage({
key: "name", // 键名
success(res){
console.log.(res) // reomveStorage:ok
}
});
4、uni中路由跳转和传参
跳转方式 | 特点 |
uni.navigateTo | 保留当前页面,只能跳转非tabBar页面 |
uni.switchTab | 关闭所有非tabbar页面,只能打开tabbar页面 |
uni.redirectTo | 关闭卸载当前页面,只能打开非tabBar页面 |
uni.reLaunch | 关闭卸载所有页面,可以打开任意页面 |
uni.navigateBack | 返回上一页面 delta:返回页数 |
<navigator > | open-type属性决定跳转方式 |
传参
路由跳转的时候可以通过?拼接参数。
<navigator url="../message/message?id=99">界面跳转传参</navigator>
//获取路由参数,在界面的onLoad方法中获取
onLoad(options) {
console.log(options)
},
5、 uni-app跨端适配—条件编译
条件编译是用特殊的注释作为标记,在编译时根据这些特殊的注释,将注释里面的代码编译到不同的平台。
写法:以 #ifdef 或 #ifndef 加 %PLATFORM% 开头,以 #endif 结尾
6、 uni-app全局变量怎么定义,怎么获取
在app.js中设置globalData设置,在需要的地方的js文件let app=getApp() app.globalData.数据