js 监听页面跳转_33. 教你零基础搭建小程序:页面的生命周期(1)

筒子们!!

这一章开始我们来看一下最基础也是最重点的部分—— 小程序的生命周期

小程序的生命周期分为应⽤⽣命周期和⻚⾯⽣命周期两种。

今天,我们来讲解一下小程序的⻚⾯⽣命周期。

整理了其主要属性及使用说明,如下表格:

ccfb0027910f5db76d8f93990caf3342.png

我们一一来介绍一下哈。

384273ecbed8e72ba7dee0e1d3ac5193.png

(一)data

这不是一个页面, 这里指对象,是我们页面中常用的初始数据。

这里不多介绍了。

(二)onLoad

这属于⽣命周期回调,用来监听⻚⾯加载。

这个功能类似于onlaunch的使用场景。

应用场景是:通过在onLoad 中发送异步请求来初始化页面数据。

具体步骤如下:

1、新建一个页面demo18

2、打开demo18.js 文件,可发现页面中已存在onload函数,

3、在onload函数中进行打印,写入如下代码:

onLoad: function (options) {console,log("onload")},

4、保存,打开调试器,发现console 中出现 onload

118c7c10d51c5b8ed2ea11a4be8ae58a.png

(三)onshow

这属于⽣命周期回调函数,用来监听⻚⾯显⽰。

我们还在demo18.js 文件中演示,步骤如下:

1、在文件中找到原先存在的oshow函数,打印 onshow ,代码如下:

onShow: function () {console,log("ononShow")},

2、保存,打开调试器,发现console 中出现 onload 、onshow。

并且是先触发 onload,再触发onshow

580f1fa1a6af21f5cfaede90bf350722.png

(四)onReady

这是一枚⽣命周期回调函数,用来监听⻚⾯初次渲染完成的情况。

具体步骤如(三)onshow

但是,

触发的顺序为onload-onshow-onReady

(五)onHide

这是一枚⽣命周期回调函数,用来监听⻚⾯隐藏的情况。

具体步骤同(三)(四),保存后,控制台出现onHide

在整个小程序隐藏时,页面也会隐藏。

并且,在当前页面中直接跳转页面,也就相当于将此页面隐藏。

啥意思呢?

这里,我们可以做一个测试来:

1、打开demo18.wxml文件,加入导航标签,代码如下:

demo17

2、保存,小程序页面如下:

b9001a9f1dbd4d5ec2e1136b71720898.png

3、点击页面demo17,会发生跳转。跳转后,会发现console中出现onHide

9f507c171a4748f5882228267ec5d7c0.png

(六)onUnload

这是一枚⽣命周期回调函数,用来监听⻚⾯卸载的情况。

这个函数只有页面卸载的时候才会触发,这里也可以通过点击超链接来操作。

但是还要增加一个步骤,使用navigator 属性中 open-type 的属性值—— redirect ,

作用就是关闭当前页面,就相当于卸载页面了。

步骤如下:

1、在demo18.js 文件,原先存在的onUnload函数中,打印这一函数,代码:

onUnload: function () {console,log("onUnload")},

2、在demo18.wxml 文件中,加入redirect ,代码如下:

demo17 redirect

3、保存,点击页面demo17 redirect ,就会触发onUnload

b195ea7d22e1b3ca5ae82cd7df088a61.png
9603a1d72a793f77f37a4aec3dc70002.png

所以,这里使用redirect 关闭当前页面,就是指卸载该页面。

本章先找前六个函数,剩下的六个,我们下一章再见。

eb70fd5900a0d32f63342ba6ff109384.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue中,没有与小程序中的onShow()生命周期钩子方法完全等效的方法,因为Vue不是页面级别的框架,而是组件级别的框架。但是,我们可以通过使用Vue的其他生命周期钩子方法和自定义事件来模拟实现类似的功能。 一种方法是使用Vue的created()生命周期钩子方法来在组件被创建时执行特定的代码。可以在created()方法中注册一个事件监听器,在页面显示时触发事件并执行相关操作。 例如: ``` <template> <div> <!-- Component Content --> </div> </template> <script> export default { created() { // 注册一个事件监听器,在页面显示时触发事件并执行相关操作 this.$eventBus.$on('pageShow', () => { // 在这里执行相关操作 console.log('页面显示了'); }); }, destroyed() { // 组件销毁时,记得取消事件监听 this.$eventBus.$off('pageShow'); } } </script> ``` 在上面的示例中,我们首先在Vue组件的created()生命周期钩子方法中注册了一个名为'pageShow'的事件监听器。然后,在每个页面需要显示时,我们可以在父组件中使用自定义的事件总线(eventBus)来触发'pageShow'事件。 例如: ``` <template> <div> <button @click="showPage">显示页面</button> </div> </template> <script> export default { methods: { showPage() { // 触发'pageShow'事件,通知组件页面将要显示 this.$eventBus.$emit('pageShow'); } } } </script> ``` 这样,当点击"显示页面"按钮时,'pageShow'事件将被触发,从而执行相关操作,并在控制台中打印出"页面显示了"。 需要注意的是,为了实现这样的功能,我们需要在Vue中使用自定义的事件总线(eventBus)来进行事件的触发和监听。简单实现的方式可以是创建一个的Vue实例作为事件总线,然后将其挂载到Vue原型链上,使得所有的组件都可以访问该事件总线。 例如,在main.js中: ``` import Vue from 'vue' Vue.prototype.$eventBus = new Vue(); ``` 这样,我们就可以在任意组件中使用this.$eventBus来进行事件的触发和监听。 需要注意的是,由于Vue是一个响应式框架,它更关注组件的状态变化。因此,如果需要通过监听页面显示来更组件状态或数据,更好的方式是使用Vue的其他生命周期钩子方法(如mounted())来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值