Uni-app开发经验分享(一)-路由、通信和开发中遇到的问题
APP开发
浏览:793 次

计划将所有知识点写在一篇文章中,但在写作过程中,发现内容太多,全部分为几篇:
主要介绍了路由、通信和开发中遇到的问题和解决方案;
主要介绍了组件开发和我自己编写的几个组件插件;
主要介绍了画布以及如何实现饼图和柱状图;
主要介绍在线过程和在线过程中可能遇到的问题
uni app基于Vue Js跨平台开发框架,这意味着只要您了解Vue,就可以使用该框架编写一组代码,并将其发布到ios、android、web、各种小程序(微信/支付宝/百度/头条/QQ/订书台/淘宝)、快速App和其他平台。
本文主要分享我使用uni app的经验和总结,因此您可以查阅框架的详细介绍,并通过安装官方网站上提供的开发工具来开发项目。
本文主要关注我在开发中经常使用的方法。示例适用于App,也适用于小程序
App生命周期
启动时
初始化完成时触发:App刚刚打开,但内容看不见。您可以使用此方法给出版本更新提示
在Show上
从后台启动或进入前台:App开始查看内容
打开隐藏
从前台到后台:App在后台(例如打开其他App、电话等)
路线
对于App,每个页面对应一条路线。在uniApp中,路由必须是根目录中的页面。json的pages字段已配置。查看详细信息。注意:页面节点的第一项是App入口页面(即主页)
路线跳跃
官方api地址:
uni。导航到:保留当前页面并跳转到App中的页面。url可以接受参数,类似于router。推入式vue路由器
uni。重定向至:关闭当前页面并跳转至App中的页面。url可以接受参数,类似于router。更换vue路由器
Uni公司。重新启动:关闭所有页面并在App中打开一个页面。url可以接受参数
uni。SwitchTab:跳转到tabBar页面并关闭所有其他非tabBar页。url不能接受参数,
uni。NavigateBack:关闭当前页面并返回上一页或多层页面,类似于路由器。vue路由器中的go(-n)
小心
URL有长度限制。如果字符串太长,它将无法传递。它可以通过窗口通信(如下所述)、全局变量或encodeURI组件来解决
例子:

//第A页
常量数据={
//多个参数
}
uni.navigate收件人({
url:`/pages/pageB/pageB?data=encodeURI组件(JSON.stringify(数据))`
})
//第B页
onLoad(选项){
const data=JSON.parse(decodeURI组件(option.data));
}
页面生命周期
加载
监视页面加载。它的参数是从上一页传递的数据,通常用于获取从上一页面传递的参数
在Show上
将显示监控页面。每次页面出现在屏幕上时触发,包括从较低的页面返回当前页面
打开就绪
首次呈现侦听器页面。请注意,如果渲染速度很快,它将在页面进入动画之前触发
打开隐藏
监听页面被隐藏。Uni公司。navigate跳转到下一页或App在后台运行
打开卸载
听页面卸载。执行uni。导航返回当前页面
下拉刷新
侦听用户下拉操作,这些操作通常用于下拉刷新。
到达底部
滚动到页面底部(不滚动到底部)的事件,通常用于下拉下一页的数据
在TabItemTap上

切换switchTab时,单击选项卡或运行uni Triggered。参数为Object
打开BackPress
监控页面返回事件={from:backbutton,navigateBack}。Backbutton表示源是左上角的返回按钮或android返回键;NavigateBack表示源是uni NavigateBack如果您想在回调函数中做出一些逻辑判断,可以动态设置return true以禁止返回上一页,return false以返回上一页面
onBackPress(事件){
const{from}=事件;
if(from===“后退按钮”){
//逻辑判断
返回true;
}else if(from==='navigateBack'){
返回false;
}
}
组件生命周期
组件生命周期与vue相同
细节:
信号通信
全局数据
App。vue中定义globalData的相关配置:
//App.vue公司
<脚本>
导出默认值{
全局数据:{
消息:“你好,世界!”
}
}
//用于pa