1,wx:if和hidden的区别
hidden和wx:if都是微信小程序中通过条件来判断是否渲染该代码块的控制属性,通过布尔值(true/false)来控制组件的显示和隐藏,
hidden字面意思上就是隐藏,也就是当条件为true时隐藏内容,false时显示内容;wx:if则刚好相反,当条件为true的时候显示,为false时隐藏
渲染过程:wx:if是动态局部渲染的,就是说当条件变换的时候,它会将内容块实时销毁或者重新渲染。如果初始条件是false那么它什么都不做,当条件变成true的时候才开始局部渲染;而hidden只是简单控制块的显示和隐藏,一开始它就加载到页面上了
2,wxml和html的异同
开发工具限制:WXML仅能在微信小程序开发工具中预览,而HTML可以在浏览器内预览。
组件封装不同:WXML对组件进行了重新封装,为后续的性能优化提供了可能,同时避免开发者写出低质量的代码。
没有DOM树:小程序运行在JS Core内,没有DOM树和window对象,没有办法使用相关API
3,微信小程序的生命周期函数
5个基本生命周期函数。
1.onLoad 监听页面加载,一个页面只会调用一次
2.onShow 监听页面显示,每次打开页面都会调用
3.onReady 监听页面初次渲染完成,一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互
4.onHide 监听页面隐藏
5.onUnload 监听页面卸载
4,怎么解决微信小程序的异步请求问题
微信小程序为了提高用户体验,提供的api大部分都是异步操作,除了数据缓存操作里面有一些同步操作。
解决小程序的异步请求问题:可以用promise
promise是什么?
1、主要用于异步计算
2、可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果
3、可以在对象之间传递和操作promise,帮助我们处理队列