【快应用】二级页面如何携带参数返回一级页面?

news2025/1/11 10:52:54

 【关键词】

快应用、router、onBackPress

【问题背景】

页面栈有A、B两个页面,怎么在B页面中调A页面的方法或传参?场景是:A页面是列表页,B页面是详情页,B页面状态改变后返回A页面状态也要改变。

【解决方法】

在onBackPress里重写返回逻辑,通过router.push方式携带参数跳转,A页面在onshow里通过this.param获取(param是push传参的参数名)。

代码如下:

A页面:

<template>
  <!-- Only one root node is allowed in template. -->
  <div class="container">
    <text class="title">A的值是{{message}}</text>
    <input class="btn" type="button" value="跳转"  @click="onClick" />
  </div>
</template>

<style>
  .container {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .btn {
    width: 140px;
    height: 60px;
    background-color: #00bfff;
    border-radius: 28px;
  }

  .title {
    font-size: 50px;
  }
</style>

<script>
  import router from '@system.router'
  module.exports = {
    data: {
      componentData: {},
      message: 'Hello World'
    },
    onInit() {
      this.$page.setTitleBar({
        text: 'PageA',
        textColor: '#ffffff',
        backgroundColor: '#007DFF',
        backgroundOpacity: 0.5,
        menu: true
      });
    },
    onShow(options) {
      '// Do something when show.'
      console.log(this.messageB + 'this.messageB')
   // messageB是B页面携带返回的参数
      this.message = this.messageB || this.message
    },
    onClick() {
        router.push({
          uri: '/pageB',
          params: {message: this.message}
        })
    }
  }
</script>

B页面:

<template>
  <!-- Only one root node is allowed in template. -->
  <div class="container">
    <text class="title">接收message:{{messageB}}</text>
    <input class="btn" type="button" value="改变message"  @click="onClick" />
  </div>
</template>

<style>
  .container {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .btn {
    width: 300px;
    height: 60px;
    margin-bottom: 20px;
    background-color: #00bfff;
    border-radius: 75px;
  }

  .title {
    font-size: 50px;
  }
</style>

<script>
  import router from '@system.router'
  module.exports = {
    data: {
      componentData: {},
      messageB: ''
    },
    onInit() {
      this.$page.setTitleBar({
        text: 'PageB',
        textColor: '#ffffff',
        backgroundColor: '#007DFF',
        backgroundOpacity: 0.5,
        menu: true
      });
    },
    onShow(options) {
      '// Do something when show.'
      console.log(this.message + 'this.messageA')
   // message 是A页面传过来的值
      this.messageB = this.message
    },
    onClick() {
      this.messageB = 'Hello QuickApp'
    },
    onBackPress() {
        console.info(`Triggered:onBackPress`);
        router.clear()
        router.push({
          uri: '/hello',
          params: {messageB: this.messageB}
        })
    }
  }
</script>

效果图如下:

cke_1751.pngcke_2374.pngcke_3071.pngcke_3884.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/981669.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ABB 3BHB003688R0101接口模块

通信接口&#xff1a;3BHB003688R0101 接口模块通常具有各种通信接口&#xff0c;例如以太网、串口、CAN总线等&#xff0c;以便与其他设备和系统进行数据交换和通信。 数据传输&#xff1a;它通常用于将数据、信号或控制命令从一个设备传输到另一个设备&#xff0c;以实现设备…

电商系统架构设计系列(十一):在电商的交易类系统中,如何正确地使用 Redis 这样的缓存系统呢?需要考虑哪些问题?

上篇文章中&#xff0c;我给你留了一个思考题&#xff1a;在电商的交易类系统中&#xff0c;如何正确地使用 Redis 这样的缓存系统呢&#xff1f;需要考虑哪些问题&#xff1f; 这篇文章&#xff0c;我们来聊聊。 引言 我们知道&#xff0c;大部分面向公众用户的互联网系统&a…

LeetCode 202 快乐数

题目链接 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 法一&#xff1a;哈希 使用哈希表循环判断每次经过平方和的数&#xff0c;如果为1则直接返回true&#xff0c;若之前存在过但不为1则直接返回false 代码 class Solution { public:// 计算…

如何消除误差?室内定位中的关键技术

1、互相关干扰消除技术 在室内复杂的定位环境中&#xff0c;接收机很有可能接收到定位源直射的强信号和经过反射、折射的弱信号&#xff0c;强信号和弱信号的功率差可以达到20&#xff5e;30dB。此时在弱信号的相关解算中&#xff0c;强信号产生的互相关峰与弱信号产生的自相关…

基于session实现发送短信和验证码登录注册功能

&#xff08;笔记总结自《黑马点评》项目&#xff09; 实现短信验证码登录流程&#xff1a; 一、发送短信 Controller层&#xff1a; PostMapping("code")public Result sendCode(RequestParam("phone") String phone, HttpSession session) {// TODO 发…

检测摄像头的fps

需求 项目中经常遇到不是摄像头就是网线的问题&#xff0c;曾经遇到一个项目算法日志一直报 warning&#xff0c;经过好几个小时的远程排查&#xff0c;发现是摄像头的 fps 不稳定&#xff0c;而且出现 fps 逐渐降低的情况&#xff0c;所以算法跑着跑着就挂了。 于是就需要开…

LeetCode每日一题:1123. 最深叶节点的最近公共祖先(2023.9.6 C++)

目录 1123. 最深叶节点的最近公共祖先 题目描述&#xff1a; 实现代码与解析&#xff1a; dfs 原理思路&#xff1a; 1123. 最深叶节点的最近公共祖先 题目描述&#xff1a; 给你一个有根节点 root 的二叉树&#xff0c;返回它 最深的叶节点的最近公共祖先 。 回想一下&…

linux 下 C++ 与三菱PLC 通过MC Qna3E 二进制 协议进行交互

西门子plc 有snap7库 进行交互&#xff0c;并且支持c 而且跨平台。但是三菱系列PLC并没有现成的开源项目&#xff0c;没办法只能自己拼接&#xff0c;我这里实现了MC 协议 Qna3E 帧&#xff0c;并使用二进制进行交互。 #pragma once#include <stdio.h> #include <std…

linux c++ 开发 - 05- 使用CMake创建一个动态库

外层CMakeList.txt中的内容&#xff1a; cmake_minimum_required(VERSION 3.16) PROJECT(HELLO) ADD_SUBDIRECTORY(lib bin)lib中CMakeLists.txt中的内容&#xff1a; SET(LIBHELLO_SRC hello.cpp) ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC})hello.h: hello.cpp: ADD_LIBR…

Liquid Studio 2023.2 Crack

Liquid Studio 提供了用于XML和JSON开发 的高级工具包以及Web 服务测试、数据映射和数据转换工具。 开发环境包含一整套用于设计 XML 和 JSON 数据结构和模式的工具。这些工具提供编辑、验证和高级转换功能。对于新手或专家来说&#xff0c;直观的界面和全面的功能将帮助您节省…

C++回顾录

代码随想录 (programmercarl.com) 数组和内存 数组是存放在连续内存空间上的相同类型数据的集合。 数组可以方便的通过下标索引的方式获取到下标下对应的数据。 举一个字符数组的例子&#xff0c;如图所示&#xff1a; 数组可以方便的通过下标索引的方式获取到下标下对应的…

使用docker搭建owncloud Harbor 构建镜像

1、使用mysql:5.6和 owncloud 镜像&#xff0c;构建一个个人网盘。 2、安装搭建私有仓库 Harbor 3、编写Dockerfile制作Web应用系统nginx镜像&#xff0c;生成镜像nginx:v1.1&#xff0c;并推送其到私有仓库。具体要求如下&#xff1a; &#xff08;1&#xff09;基于centos基础…

Scala面向对象编程(高级部分)

1. 静态属性和静态方法 &#xff08;1&#xff09;回顾Java中的静态概念 public static 返回值类型 方法名(参数列表) {方法体} 静态属性… 说明: Java中静态方法并不是通过对象调用的&#xff0c;而是通过类对象调用的&#xff0c;所以静态操作并不是面向对象的。 &#xff0…

SpringBoot 统一异常处理

1. 统一返回结果集 package com.liming.pojo;import com.liming.exception.AppExceptionCodeMsg; import lombok.Data;/*** 全局统一返回结果类* author 黎明* date 2023/9/6 14:11* version 1.0*/ Data public class Result<T> {private Integer code; // 状态码privat…

C#模拟PLC设备运行

涉及&#xff1a;控件数据绑定&#xff0c;动画效果 using System; using System.Windows.Forms;namespace PLCUI {public partial class MainForm : Form{ public MainForm(){InitializeComponent();}private void MainForm_Load(object sender, EventArgs e){// 方式2&#x…

基于SpringBoot的校园失物招领系统

基于SpringBooVuet的校园失物招领系统&#xff0c;前后端分离 附万字文档 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 角色&#xff1a;管理员、用户 管理员  …

线性空间、子空间、基、基坐标、过渡矩阵

线性空间的定义 满足加法和数乘封闭。也就是该空间的所有向量都满足乘一个常数后或者和其它向量相加后仍然在这个空间里。进一步可以理解为该空间中的所有向量满足加法和数乘的组合封闭。即若 V 是一个线性空间&#xff0c;则首先需满足&#xff1a; 注&#xff1a;线性空间里面…

AR工业远程巡查系统:实时监控设备状态,及时发现潜在问题

随着工业4.0的到来&#xff0c;先进的技术和创新的解决方案正在改变着工业生产的方式。其中&#xff0c;增强现实&#xff08;AR&#xff09;技术带来的工业巡检系统就是一个典型的例子。这种系统通过在现实世界中添加虚拟信息&#xff0c;使得操作人员能够更有效地进行检查和维…

leetcode 1002. 查找共用字符

2023.9.6 个人感觉这题难度不止简单&#xff0c;考察到的东西还是挺多的。 首先理解题意&#xff0c;可以将题意转化为&#xff1a;求字符串数组中 各字符串共同出现的字符的最小值。 分为三步做&#xff1a; 构造一个哈希表hash&#xff0c;初始化第一个字符串的字母出现频率…

2020年12月 C/C++(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C编程&#xff08;1~8级&#xff09;全部真题・点这里 第1题&#xff1a;字符三角形 描述 给定一个字符&#xff0c;用它构造一个底边长5个字符&#xff0c;高3个字符的等腰字符三角形。 输入 输入只有一行&#xff0c; 包含一个字符。 输出 该字符构成的等腰三角形&#xff…