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.数据