快捷搜索: 王者荣耀 脱发

【知识总结】前端高频微信小程序面试题合集

在开发中,遇到一个一个小难题,就是app.js中onShow事件会因调用其他API而触发,比如,wx.chooseImage、wx.makePhoneCall、wx.previewImage。

小程序热启动确实是一个坑,因为通过扫码或者分享进入也会热启动,一般开发者都只在onLaunch处理扫码进入的相关逻辑,热启动时就出bug了。

目前比较好的办法就是onShow中通过首个参数option时下的scene判断进入的场景,根据场景处理相关逻辑。

    WXML:是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。 WXSS:是一套样式语言,用于描述WXML组件样式。 js:处理逻辑,网络请求。 json:小程序设置,如页面注册、页面标题及tarBar。
    将所有的接口放在js文件中并导出 在app.js中创建封装请求数据的方法 在子页面中调用封装的方法请求数据

有哪些参数传值的方法

    给html元素添加data属性来传递我们需要的值,然后通过e.currentTarget.dataset或onload的param参数获取。但data名称不能有大写字母,不可以存放对象。 设置id的方法标识来传值通过e.currentTarget.id获取设置的id的值,然后通过设置全局对象的方式来传递数值。 在navigator中添加参数传值。
    提高页面加载速度 用户行为预测 减少默认data的大小 组件化方案

怎么解决小程序的异步请求问题

在回调函数中调用下一个组件的函数

app.js

success:function(info){
          
   
	that.apitnCallback(info)
}

index.js

onLoad:function(){
          
   
	app.apitnCallback = res=>{
          
   
		console.log(res)
	}
}

小程序的双向绑定和vue哪里不一样

小程序直接this.data的属性是不可以同步到视图的,必须调用:

this.setData({
          
   noBind:true})

如何实现下拉刷新

首先在全局config中window配置enablePullDownRefresh

在Page中定义onPullDownRefresh钩子函数,到达下拉刷新条件后,该钩子函数执行,发起请求方法,请求返回后,调用wx.stopPullDownRefresh停止下拉刷新。

bindtap和catchtap的区别是什么

相同点

首先他们都是作为点击事件函数,就是点击时触发。在这个作用上他们是一样的,可以不做区分。

不同点

他们的不同点主要是bindtap是不会阻止冒泡事件的,catchtap是阻止冒泡的。

简述下wx.navigateTo()、wx.redirectTo()、wx.switchTab()、wx.navigateBack()、wx.reLaunch()的区别

    wx.navigateTo():保留当前页面,跳转到应用内的某个页面。但是不能跳转到tabbar页面。 wx.redirectTo():关闭当前页面,跳转到应用内的某个页面。但是不能跳转到tabbar页面。 wx.switchTab():跳转到abBar页面,并关闭其他所有非tabBar页面。 wx.navigateBack():关闭当前页面,返回上一页或者多级页面。可通过getCurrentPages()获取当前的页面栈,决定需要返回几层。 wx.reLaunch():关闭所有页面,打开到应用内的某个页面。
经验分享 程序员 微信小程序 职场和发展