block和template标签
只是一个包装元素,不会再页面中做任何元素,只接受控制属性 uniapp 的建义用法是 block 用于 循环数据的情况 template用于 条件选择的情况
小程序&移动端骨架屏
uni小程序中manifest.json的用处
uni-app中的#ifdef #ifndef #endif的用处,可以处理兼容多端平台
小程序分包
生命周期
-
onLoad: 监听页面加载 页面加载时触发,可在onLoad的参数中获取打开当前页面路径中的参数
-
onReady: 监听页面初次渲染完成,代表页面已经准备妥当,可以和视图层进行交互
-
onShow:监听页面显示,页面显示/切入前台时触发
-
onHide:监听页面隐藏如navigateTo或底部tab切换到其他页面,小程序切入后台等
-
onUnload:监听页面卸载
-
onPullDownRefresh: 页面相关事件处理函数--监听用户下拉动作
- 需在app.json的window选项中或页面配置中开启enablePullDownRefresh。
- 通过wx.startPullDownRefresh触发下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。
- wx.stopPullDownRefresh停止当前页面的下拉刷新
-
onReachBottom: 页面上拉触底事件的处理函数
-
onShareAppMessage:用户点击右上角分享
框架
框架选择从:性能,开发效率、高可用性,写法兼容性,系统稳定性,编译速度,语法支持度(比如支持ts),生态(开发工具,多端支持度)综合才能衡量一个框架的技术选型
性能:框架运行时体积、页面渲染耗时、页面更新耗时、局部更新耗时、setData调用
uniapp
mpvue
wepy
github.com/Tencent/wep… blog.csdn.net/yaodong379/…
其他记录
- AB页面间传递数据 如果需要传递如json或数组这样的结构化数据,可以先把结构化数据做 string 化和 encode 一下后,再通过该方式传递
encodeURIComponent(JSON.stringify(xxx))
复制代码在 B 页面中,获得内容后,通过以下方法,解析出数据。
JSON.parse(decodeURIComponent(xxx)
- 如何与服务端保持会话 因小程序框架并无 Cookie 管理机制,并且小程序也未提供向 WebView 设置 Cookie 的方法。所以如果我们想继续使用 Session-Cookie 机制,则需要自己实现一套,我们可以简单的提取出 set-cookie 头中有效的 cookie 内容,然后存储在内存和本地中,在下一次请求的时候,把这些 cookie 组装起来使用。当涉及到 WebView 时,我们可以通过 query 的方法,把这些 Cookie 内容传给 Web 端,用来维持和服务端的有效会话
当然你也可以采用 Token 机制,与服务端保持会话。
- 调用子组件中的方法? 在自定义组件中加上一个 id,然后在 js 代码中使用如下方法:this.selectComponent('#id').methodOfComponent(data);
- 子组件中如何调用父组件的方法? 使用组件事件方法:在父组件中使用子组件时,可以定义一个bind:customMethod='parentMethod'
然后子组件中,可以使用以下代码调用父类的方法:this.triggerEvent('customMethod', data);
底部导航和弹窗颜色只支持十六进制的颜色
页面跳转时用正确的的跳转方式 比如导航栏的跳转:
- 常用wx.switchTab 接口的同学可能没碰到过这种情况。navigator组件里有一个属性是open-type,默认值是navigate,对应 wx.navigateTo 或 wx.navigateToMiniProgram 的功能
<navigator hover-class="none" open-type="switchTab" url="/pages/index/index">
<image src="/libs/images/home.png"></image>
</navigator>
加一个open-type="switchTab" 或者绑定一个点击事件用wx.switchTab接口来实现跳转导航栏。