1. ⼩程序有⼏个⽂件?
WXML :微信⾃⼰定义的⼀套组件
WXSS : ⽤于描述 WXML 的组件样式
js : 逻辑处理 json : ⼩程序⻚⾯配置
2 ⼩程序怎么跟随事件传值
在⻚⾯标签上通过 绑定 data-key=value然后绑定点击通过e.currentTarget.dataset.key来获取标签上 绑定的值。
3 ⼩程序WXSS与CSS 的区别
WXSS WXSS wxss 背景图⽚只能引⼊外链,不能使⽤本地图⽚ ⼩程序样式使⽤ @import 引⼊ 外联样式⽂件,地址为相对路径。 尺⼨单位为 rpx , rpx 是响应式像素,可以根据屏幕宽度进⾏⾃适应。
4 ⼩程序的双向绑定和Vue哪⾥不⼀样?
⼩程序 直接使⽤this.data.key=value 是不能更新到视图当中的。必须使⽤ this.setData({ key :value })来更新值。
5 ⼩程序的⽣命周期函数
onLoad : ⻚⾯加载时触发。⼀个⻚⾯只会调⽤⼀次,可以在 onLoad 的参数中获取打开当前⻚⾯路径中的参数 onShow : ⻚⾯显示 / 切⼊前台时触发调⽤。 onReady : ⻚⾯初次渲染完成时触发,⼀个⻚⾯只会调⽤⼀次。 onHide : ⻚⾯隐藏 / 切⼊后台时触发,如 navigateTo 或底部 tab 切换到其他⻚⾯,⼩程序切⼊后台等 onUnload : ⻚⾯卸载时触发。如 redirectTo 或 navigateBack 到其他⻚⾯时.
6 ⼩程序怎么实现下拉刷新
两种⽅案 ⽅案 ⼀ : 通过在 app.json 中, 将 "enablePullDownRefresh": true, 开启全局下拉刷新。 或者通过在 组件 .json , 将 "enablePullDownRefresh": true, 单组件下拉刷新。 ⽅案⼆: scroll-view :使⽤该滚动组件 ⾃定义刷新,通过 bindscrolltoupper 属性, 当滚动到顶部/左边,会触发 scrolltoupper 事件,所以我们可以利⽤这个属性,来实现下拉刷新功能。
7. ⼩程序有哪些传递数据的⽅法
使⽤全局变量 在app.js中的this.globalData = { }中放⼊要存储的数据。 在组件.js 中,头部引⼊const app = getApp();获取到全局变量 直接使⽤app.globalData.key 来进⾏赋值和获取值
使⽤ 路由 wx.navigateTo 和 wx.redirectTo 时,可以通过在 url 后 拼接 + 变量, 然后在 ⽬标⻚⾯ 通过在 onLoad 周期 中,通过参数来获取传递过来的值。
使⽤本地缓存
在⻚⾯标签上通过 绑定 data-key=value然后绑定点击通过e.currentTarget.dataset.key来获取标签上 绑定的值。
8. 简述下wx.navigateTo(),wx.redirectTo(),wx.switchTab(),wx.navigateBack(),wx.reLaunch() 区 别
wx.navigateTo() : 保留当前⻚⾯,跳转到应⽤内的某个⻚⾯。但是不能跳到 tabbar ⻚⾯ wx.redirectTo() : 关闭当前⻚⾯,跳转到应⽤内的某个⻚⾯。但是不允许跳转到 tabbar ⻚⾯ wx.switchTab() : 跳转到 TabBar ⻚⾯,并关闭其他所有⾮ tabBar ⻚⾯ wx.navigateBack() : 关闭当前⻚⾯,返回上⼀⻚⾯或多级⻚⾯。可通过 getCurrentPages() 获取当前⻚⾯栈,决定需要返回⼏层 wx.reLaunch() : 关闭所有⻚⾯,打开到应⽤的某个⻚⾯。
9. ⼩程序wx:if和 hidden`的区别
wx:if : 有更⾼的切换消耗。 hidden : 有更⾼的初始渲染消耗。 使⽤频繁切换使⽤ hidden , 运⾏时条件变化使⽤ wx: if
10. app.json全局配置⽂件描述
pages : ⽤于存放当前⼩程序的所有⻚⾯路径 window : ⼩程序所有⻚⾯的顶部背景颜⾊,⽂字颜⾊配置。 tabBar : ⼩程序底部的 Tab ,最多5个,最少2个。
11. 如何封装⼩程序请求
封装 wx.request请求传递需要的参数(url , data , method , success 成功回调 , fail 失败回调 ) , 封装常⽤⽅法POST,GET,DELETE,PUT最后导出这些⽅法 然后新建⼀个 api.js ⽂件,导⼊封装好的⽅法,然后调取相应的⽅法,传递数据