1. ⼩程序有⼏个⽂件?
WXML :微信⾃⼰定义的⼀套组件
WXSS : ⽤于描述 WXML 的组件样式
js : 逻辑处理
json : ⼩程序⻚⾯配置
2 ⼩程序怎么跟随事件传值
在 ⻚⾯标签上通过 绑定 data-key = value , 然后绑定点击通过 e.currentTarget.dataset.key 来获取标签上
绑定的值。
3 ⼩程序 WXSS 与 CSS 的区别
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 bindtap 和 catchtap 区别
相同点: 都是点击事件 不同点: bindtap 不会阻⽌冒泡, catchtap 可以阻⽌冒泡。
8 ⼩程序有哪些传递数据的⽅法
- 使⽤全局变量
在 app.js 中的 this.globalData = { } 中放⼊要存储的数据。
在 组件.js 中, 头部 引⼊ const app = getApp(); 获取到全局变量
直接使⽤ app.globalData.key 来进⾏赋值和获取值。 - 使⽤ 路由
wx.navigateTo 和 wx.redirectTo 时,可以通过在 url 后 拼接 + 变量, 然后在 ⽬标⻚⾯ 通过在 onLoad 周期
中,通过参数来获取传递过来的值。 - 使⽤本地缓存
9 简述下 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() : 关闭所有⻚⾯,打开到应⽤的某个⻚⾯。