不积跬步无以至千里002

2020-11-15 学习积累

  • authorized 请求头中的作者 一般就是token Content-Type 请求头类型

  • 相应拦截 如果响应失败 就根据获取到的报文做一些行为 比如直接跳转登录页

  • instance.interceptors.response.use((res) 一般用来判断有没有登录

  • 路由拦截 组件内守卫 vue中路由参数改变 但组件未变 则不渲染 不会执行mounted生命周期 在

  • onPullDownRefresh 监听用户下拉动作 在app端一样可以执行

  • onReachBottom() 监听用户上拉触地事件

  • wx.navigateBack() 关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。属性delta 返回的页面数 可以接success和fail还有complete 分别是成功失败的回调函数 complete 接口调用结束的回调函数 无论成功失败都会执行

  • getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。 注意:

    不要尝试修改页面栈,会导致路由以及页面状态错误。
    不要在 App.onLaunch 的时候调用 getCurrentPages(),此时page 还没有生成。

    熟悉页面栈后才能更好的使用getCurrentPages(),下面将列举几种常用的使用场景:

    * 1、利用页面栈的长度
      例如:进入小程序非默认首页时,需要提供返回首页的按钮或者执行其它事件
      onShow() {
      let pages = getCurrentPages(); //当前页面栈
      if (pages.length == 1) {
      //todo
      }
      },
    
      2、跨页面赋值
      let pages = getCurrentPages();//当前页面栈
      let prevPage = pages[pages.length - 2];//上一页面
      prevPage.setData({
      //直接给上移页面赋值
      });
    
      3、页面跳转后自动刷新
      //举例
      wx.switchTab({
      url: ‘…/index/index’,
      success: function (e) {
      var page = getCurrentPages().pop(); //当前页面
      if (page == undefined || page == null) return;
      page.onLoad(); //或者其它操作
      }
      })
    
      4、获取当前页面相关信息
      let pages = getCurrentPages(); //当前页面栈
      //当前页面为页面栈的最后一个元素
      let prevPage = pages[pages.length - 1];//当前页面
      or
      // pop() 方法用于删除并返回数组的最后一个元素
      let prevPage = pages.pop();//当前页面
    
      console.log( prevPage.route) //举例:输出为‘pages/index/index’
      其实我没太看懂,因为app调试的时候打印的都是object,我不知道这几个object都是啥,所以没用到这个,是多级返回bug的时候找到这个东西的,看介绍以后可能会用到
    
    
    
  • qrDetail 页面文件

    <uni-nav-bar left-icon="back" @clickLeft="navigateBack" title="二维码详情"></uni-nav-bar>
    
    页面文件中使用组件,组件上使用自定义事件 clickLeft 实现页面返回
    
    navigateBack() {
    			uni.navigateBack({
    				delta: 1
    			});
    		},
                
              
    

uninavbar组件 等于是用子向父传参的方式调用父组件上的clickLeft事件 实现页面返回的功能

<view @tap="onClickLeft" class="uni-navbar__header-btns uni-navbar__header-btns-left uni-navbar__content_view">

onClickLeft() {
				this.$emit("clickLeft");
			},
  • 小程序端bindtap和catchtap事件都是点击事件 前者是冒泡事件 后者是非冒泡事件
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值