⼩程序⾯试题总结
⽂章⽬录⼀、⼩程序的主要⽂件WXML——模板⽂件JSON——配置/设置⽂件,如标题,tabbar,页⾯注册WXSS——样式⽂件,样式可直接⽤import导⼊JS——脚本逻辑⽂件,逻辑处理,⽹络请求
app.json——配置⽂件⼊⼝,整个⼩程序的全局配置,⽹络超时时间、底部tab、页⾯路径,window字段是⼩程序所有页⾯的顶部背景颜⾊、⽂字颜⾊app.js——可以没有内容,可以在⾥边监听⽣命周期函数、声明全局变量
app.wxss——全局配置样式⽂件
⼆、⼩程序怎么跟随事件传值在页⾯标签上通过绑定dataset-key=value ,然后绑定点击事件,通过e.currentTarget.dataset.key来获取标签上绑定的值
三、⼩程序的wxss 和css 有什么区别wxss背景图⽚只能引⼊外链,不能使⽤本地图⽚wxss使⽤@import 引⼊外联样式,地址为相对路径wxss的尺⼨单位为rpx,1px = 2rpx ,rpx是响应式像素,可以根据屏幕宽度⾃适应
四、⼩程序的双向绑定和vue 有什么区别⼩程序 直接使⽤this.data.key = value 不能更改视图,必须使⽤this.setData({key:value})才能更新视图五、⼩程序的声明周期
onLoad :页⾯加载的时候触发,⼀个页⾯只会调⽤⼀次,可以在onLoad的参数中获取打开当前页⾯路径中的参数
onShow :页⾯显⽰、切⼊前台的时候触发调⽤
onReady :页⾯初次渲染完成的时候触发,⼀个页⾯只会调⽤⼀次
onHide :页⾯隐藏、切⼊后台的时候触发调⽤,如navigateTo 或底部tab 切换到其他页⾯,⼩程序切⼊后台等
onUnload :页⾯卸载时触发,如redirectTo 或navigateBack 到其他页⾯时
六、⼩程序怎么实现下拉刷新<button bindtap ="get"  data -name ="测试"> 拿到传值</button >get (e ){    console .log (e .currentTarget .dataset .name )  },
1
2
3
4
5
⽅案⼀
在app.json中,将"enableDownPullRefresh":true,开启全局下拉刷新
在对应组件的json⽂件中,将"enableDownPullRefresh":true,实现单个组件下拉刷新
⽅案⼆
scroll-view:使⽤滚动组件,⾃定义刷新,通过bindscrolltoupper属性,当滚动到顶部或者左边的时候,会触发```scrolltoupper``事件,可以利⽤这个属性,来达到下拉刷新的⽬的
七、bindtap和catchtap的区别
相同点:都是点击事件
不同点:bindtap不会阻⽌冒泡,catchtap会阻⽌冒泡
⼋、⼩程序有哪些传递数据的⽅法
使⽤全局变量
在app.json中的this.globalData={}中放⼊要传递的数据
在对应组件的js⽂件中,头部引⼊const app = getApp(),来获取全局变量
直接使⽤app.globalData.key来进⾏赋值和取值
使⽤路由
使⽤wx.navigateTo和wx.redirectTo时,可以在url地址后拼接要传递参数,然后再⽬标页⾯的onLoad周期中,去获取url地址上的参数
使⽤本地缓存
九、简述navigateTo、redirectTo、switchTab、navigateBack、reLaunch的区别
navigateTo:保留当前页⾯,跳转到应⽤内的某个页⾯,但是不能跳转到tabbar页⾯
redirectTo:关闭当前页⾯,跳转到应⽤内的某个页⾯,但是不能跳转到tabbar页⾯
switchTab:跳转到tabbar页⾯,并关闭其他⾮tabbar页⾯
navigateBack:关闭当前页⾯,返回上⼀页⾯或多级页⾯,可通过getCurrentPage获取当前页⾯栈,决定返回⼏层
reLaunch:关闭所有页⾯,打开到应⽤的某⼀个页⾯
⼗、⼩程序wx:if和hidden的区别
wx:if:有更⾼的切换消耗
hidden:有更⾼的初始化渲染消耗
使⽤场景:频繁切换使⽤hidden,运⾏条件变化使⽤wx:if
⼗⼀、app.json全局⽂件配置描述
pages:⽤于存放当前⼩程序的所有页⾯路径
window:⼩程序所有页⾯的顶部背景颜⾊,⽂字颜⾊配置等
tabbar:⼩程序底部Tab,对多五个,最少两个
⼗⼆、授权流程
⼗三、⼩程序和vue 的写法区别遍历循环:⼀个是wx:for ,⼀个是v-for 调⽤data模型:⼩程序是this.data.key ,vue是this.key 给模型赋值:⼩程序是this.setData({key:value}),vue是this.key = value ⼗四、⼩程序的优缺点优点⽆需下载打开速度快开发成本低为⽤户提供良好的安全保障,发布有⼀套严格的审查流程,不能通过审查的程序⽆法发布到线上服务请求快缺点依托,不能开发后台管理
写文章的小程序⼤⼩限制不能超过2M,不能打开超过五个层级的页⾯
⼗五、简述⼩程序的原理⼩程序分为两部分:webView 和appService ,webView ⽤于展⽰UI,appService ⽤于处理业务逻辑,数据及调⽤接⼝,他们在两个程序中运⾏,通过系统层的JSBridge 来实现通信,完成UI渲染和事件处理。
⼗六、提⾼⼩程序应⽤的⽅法
减少默认data的⼤⼩
组件优化⽅案,共⽤的如弹窗组件等写个⾃定义组件,然后调⽤
⼗七、setData 的回调函数
⼩程序的setData和react的setData的实现类似,所以它是⼀个异步函数,并且有回调函数的参数,当然平时⼩量数据我们可能并没有感觉到它的异步,但是为了保证逻辑的正确执⾏,我们需要在⽤到setData后的data⾥的数据的步骤,写⼊setData的回调函数this .setData ({  a : this .data .a ++  },()=>{})
1
2
3
4
⼗⼋、⼩程序和H5有什么区别运⾏环境不同:⼩程序在运⾏,h5在浏览器运⾏开发成本不同:h5需要兼容不同的浏览器获取系统权限不同:系统权限可以和⼩程序⽆缝衔接
应⽤在⽣产环境的运⾏流畅度:h5需要不断对项⽬优化来提⾼⽤户体验
⼗九、⼩程序关联如何确定⽤户的唯⼀性使⽤wx.getUserInfo ⽅法,当withCredentials 为true时,可获取encryptedData ,⾥⾯有union_id ,后端需要进⾏对称解密
⼆⼗、webview 中的页⾯怎么跳回⼩程序中先在管理后台配置域名⽩名单
然后引⼊jweixin-1.3.2.js(res.wx.qq/open/js/jweixin-1.3.0.js)
⼆⼗⼀、webview 的页⾯怎么跳转到⼩程序导航的页⾯
⼩程序导航的页⾯可以通过switchTab,但默认情况是不会重新加载数据的。若需加载新数据,则在success属性中加⼊以下代码即可:wx .miniProgram .navigateTo ({url : '/pages/login/login'+'$params'})wx .miniProgram .navigateTo ({url : '/path/to/page'})
1
2success : function  (e ) {  var  page = getCurrentPages ().pop ();  if  (page == undefined  || page == null ) return ;  page .onLoad ();}//webview 的页⾯,则通过wx .miniProgram .switchTab ({  url : '/pages/index/index'  })1
2
3
4
5
6
7
8
9

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。