uniapp开发小程序,当二级页面返回一级页面时,触发一级页面的事件或者更新一级页面的某项数据

这篇具有很好参考价值的文章主要介绍了uniapp开发小程序,当二级页面返回一级页面时,触发一级页面的事件或者更新一级页面的某项数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

二级页面触发一级页面:

二级页面代码:

uni.navigateBack({
			delta: 1,
			success() {
				const pages = getCurrentPages();
				const targetPage = pages[0];
				targetPage.$vm.addJournalState=true
	}
})

有人部分博客获取上一页信息是通过这样获取的:var targetPage = pages[pages.length - 2],我这样获取显示undefined,大家可以把ages打印一下,看看内容,然后自行选择

注解:

getCurrentPages()方法来获取当前页面栈

$vm是指Vue组件实例

一级页面代码:

		onShow() {
			setTimeout(() => {
				if (this.addJournalState) {
                    // 重新获取数据
					this.upJournal()
					this.addJournalState = false
				}
			}, 100)
		}

每次页面切换就会判断一下,如何是指定二级页面返回过来,会将状态设置为ture,就会执行代码重新获取数据,其他则不会

注解:

使用setTimeout的原因是因为确认一级页面addJournalState状态已经被修改

页面跳转传递传参

跳转页:

uni.navigateTo({
			url: '/pages/material/purchaseDetails?data=' + encodeURIComponent(JSON
							.stringify(argumentAll))
})

接受页:

onLoad(options) {
			// 获取页面传递的对象参数
			const data = JSON.parse(decodeURIComponent(options.data));
			this.dataObj = data
}

注解:

encodeURIComponent 是 JavaScript 中的一个函数,用于对 URI(统一资源标识符)中的特殊字符进行编码。它将指定的字符串作为参数,并返回一个新的字符串,其中包含了经过编码的特殊字符

decodeURIComponent 是 JavaScript 中的一个函数,用于解码经过 encodeURIComponent 编码的 URI(统一资源标识符)字符串。它将编码后的字符串作为参数,并返回一个新的字符串 

转发功能 

效果图:

uniapp开发小程序,当二级页面返回一级页面时,触发一级页面的事件或者更新一级页面的某项数据,wx小程序,uniapp全栈,uni-app,小程序,前端

转发功能: 

<template>
  <view class="container">
    <button class="share-btn" open-type="share">转发</button>
  </view>
</template>

<script>
export default {
  data() {
    return {};
  },
  onShareAppMessage() {
    return {
      title: '这是分享的标题',
      path: '/pages/index/index',
      imageUrl: '/static/share.jpg'
    }
  },
};
</script>

<style scoped>
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.share-btn {
  width: 200rpx;
  height: 80rpx;
  background-color: #007aff;
  color: #ffffff;
  border-radius: 40rpx;
  font-size: 32rpx;
  line-height: 80rpx;
  text-align: center;
}
</style>

注解:

open-type="share"表示将该按钮设置为小程序默认的分享按钮。

onShareAppMessage()是小程序提供的一个生命周期函数,当用户点击分享按钮时会自动调用该函数,并且根据该函数返回的分享内容进行分享

title属性,表示小程序分享的标题,这里设置为“这是分享的标题”。

path属性,表示小程序分享的路径,这里设置为小程序首页的路径/pages/index/index

imageUrl属性,表示小程序分享时的封面图,这里设置为静态资源目录下的一张图片。文章来源地址https://www.toymoban.com/news/detail-521222.html

到了这里,关于uniapp开发小程序,当二级页面返回一级页面时,触发一级页面的事件或者更新一级页面的某项数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp+微信小程序监听返回事件

    代码附在最后 适用场景: uniapp开发微信小程序 需求是我点击列表进入数据信息的详情界面,点击详情界面的收藏,返回上一界面后,更新列表中的收藏情况。 目录 一、使用onUnload监听页面卸载 二、使用getCurrentPages()获取当前页面栈所有的实例,并找到上一界面的实例进行数

    2024年02月04日
    浏览(51)
  • 微信小程序一对多个页面间传递数据进行通信,事件触发的实现方法

    在有些场景下,使用组件间通信或者组件和页面间通信并不可行。比如我需要只有一个websocket实例,并且需要向多个页面传递我接收到的消息。 下面的方法是一个页面向其它页面(触发事件)传递数据,其它页面也可以向这个页面传递数据。也就是可以互相传递。 缺点是,

    2024年02月07日
    浏览(46)
  • 小程序内嵌H5页面监听小程序的返回事件

    因为业务上有需求,在开发小程序的时候有些页面要使用web-view组件嵌套H5页面 有个页面内有个表单,在表单内容还为填写完成的时候,监听用户点击左上角返回事件,弹出一个提示框,因为H5页面在小程序中的层级很高,所以弹出提示框只能在H5页面内完成,因此要在H5页面

    2024年02月11日
    浏览(49)
  • 【微信小程序】使用全局事件实现在不同页面之间共享数据或触发特定的操作

    在微信小程序中,你可以使用全局事件来实现在不同页面之间共享数据或触发特定的操作。以下是一个示例代码: 在app.js文件中,定义全局事件: 在上述代码中,我们在App对象中定义了globalData对象,用于存储全局数据。同时,我们定义了onLaunch方法,在小程序初始化时执行

    2024年02月16日
    浏览(47)
  • uniapp嵌套webview,无法返回上一级?

    场景: 进入首页,自动跳转第三方应用 遇到问题 在设备上运行时,无法回退上一级,直接退出应用了; 预期:一级级的返回页面; 解决方式 个人想到临时解决方式,欢迎老铁们可以分享其他方式 进入首页 index ,不要先加载 web-view 新建页面,例 webview.vue 方式一 例:安卓

    2024年01月22日
    浏览(41)
  • uniapp微信小程序 页面返回使用navigateBack,返回后页面不刷新问题解决方案

    尝试了众多方法,比如vuex,本地缓存,都不行 1,如果是页面之间的跳转 可以使用onShow生命周期请求数据 2,组件之间的跳转,使用redirectTo,通过关闭当前页面,跳转到指定页面再加载,这种适合二级页面到三级页面数据不更新问题 3,当一级页面使用了某个组件,组件内跳转

    2024年02月15日
    浏览(59)
  • uniapp 之 uniapp的返回事件 onBackPress 在微信小程序中不生效的问题

    使用 uniapp 开发微信小程序 页面中点击左上角的返回按钮,监听返回操作,页面返回前执行了一些操作, uniapp 页面生命周期中有 onBackPress ,因此将操作写在了 onBackPress () 页面生命周期钩子当中, H5 测试一切正常,但是微信开发工具中调试的时候发现没有执行 原因 : uniapp的onBackPre

    2024年02月11日
    浏览(43)
  • uniapp学习之【uniapp的返回事件 onBackPress 在微信小程序中不生效的问题】

    uniapp 的返回事件 onBackPress 在微信小程序中不生效的问题 场景 :页面中点击左上角的返回按钮,监听返回操作,页面返回前执行了一些操作, uniapp 页面生命周期中有 onBackPress ,因此将操作写在了 onBackPress () 页面生命周期钩子当中, H5 测试一切正常,但是微信开发工具中调试的时候

    2024年02月16日
    浏览(45)
  • 微信小程序中 使用swiper 滑动切换一级、二级导航

    其中遇到一个大问题使我放弃了swiper的使用,swiper有一个固定高度不太好处理,最终使用了touch事件去处理触摸移动,之后会再写一篇文章记录,处理不复杂的话还是可以用swiper的 效果根据手指滑动切换二级导航、二级切换完成切换一级导航   其中遇到一个大问题使我放弃了

    2024年02月17日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包