zoukankan      html  css  js  c++  java
  • 微信小程序学习之navigate(1)navigateTo方法与navigateBack方法对于page生命周期不同的触发影响

    小程序的每个页面都有一些生命周期,每个生命周期由分别有着不同的生命周期钩子函数。而我们的业务逻辑写在这些生命周期的钩子函数中,那么弄清楚那种情形下会触发那些生命周期钩子函数就非常重要了

    先上一段代码

    Page({
        data: {
            banner: [
                "../../assets/img/banner.jpg",
                "../../assets/img/banner2.jpg",
                "../../assets/img/banner3.jpg",
            ],
            list:[1,2,3,4,5,6,7],
        },
        //页面加载
        onLoad: function () {
          console.log("触发首页加载周期")
            
        },
        //页面渲染
        onReady() {
          console.log("触发首页页面渲染周期")
          
        },
        //页面显示
        onShow() {
          console.log("触发首页页面显示周期")
          // wx.navigateTo({
          //   url: "../test/test",
          // })
        },
        //页面隐藏
        onHide() {
            console.log("触发首页页面隐藏周期");
        },
        login(){
        }
    })

    上面这一坨就是页面常用的生命周期钩子函数,还有一些没有写出来,想要了解的可以去微信的官方文档看看:https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.redirectTo.html

    第一种情况

    当页面首次加载的时候触发的生命周期有

    离开当前页面的时候

    第二种情况

    当其他页面使用navigateTo 回到当前页面时

    使用

    wx.redirectTo 回到当前页面效果与wx.navigateTo相同
    wx.reLunch 回到当前页面效果与上相同,但是会触发 发生跳转的页面的 页面卸载钩子函数

    第三种情况

    当其他页面使用navigateBack回到当前页面时 

    就只会触发 onShow()生命周期函数 switchTab与其相同 但是switchTab只能条tabbar页面

    所以每次进入页面都要触发的业务逻辑个人推荐的写法是使用navigateTo而非navigateBack

  • 相关阅读:
    Spring Boot Common application properties(转载)
    SVN中trunk,branches,tags用法详解(转载)
    约定优于配置
    JavaScript封装一个MyAlert弹出框
    JavaScript封装一个实用的select控件
    JavaScript的8行代码搞定js文件引入问题
    JavaScript处理数据完成左侧二级菜单的搭建
    SpringMVC+Mybatis实现的Mysql分页数据查询
    十步完全理解 SQL(转载)
    sql语句练习50题
  • 原文地址:https://www.cnblogs.com/wrhbk/p/11125384.html
Copyright © 2011-2022 走看看