uni-app高频面试题

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

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值