zoukankan      html  css  js  c++  java
  • uniapp navigateBack返回修改前一页面数据

    1. 使用prevPage.$vm

    页面A

    data() {
    	return {
    		content:''
            }
    }
    

    页面B

    把以下代码写在需要修改上一页面的方法里面,若需要一进入B页面就修改A页面的值,把下面代码的uni.navigateBack()去除后,写在onLoad方法里面

    let pages = getCurrentPages();             //获取所有页面栈实例列表
    let nowPage = pages[ pages.length - 1];    //当前页页面实例
    let prevPage = pages[ pages.length - 2 ];  //上一页页面实例
    prevPage.$vm.content= name;         // 修改上一页data里面的content参数值为name
    uni.navigateBack()
    

    2. 使用uni.$emit()和uni.$on() 进行页面间通讯 

    页面A监听值改变,在onShow中添加监听一个handle的事件

    onShow(){
        uni.$on("handle", res => {
            this.content = res.name;
            // 清除监听
            uni.$off('handle');
        })
    }
    

    B页面 ,返回A页面触发一个事件,使用uni.$emit("handle",{})

    getContent(){
        uni.$emit("handle",{name: 'Name Content'}); //值传递
        uni.navigateBack()  //返回上一页
    }
    
  • 相关阅读:
    Python中的分支条件结构
    Python中常用的数据类型转换
    Python中的运算符
    Python中的输入和输出
    信息收集之zoomeye
    信息收集之censys
    linux权限管理
    linux软件安装管理
    Linux网络管理
    磁盘管理与用户管理
  • 原文地址:https://www.cnblogs.com/Intellectualscholar/p/15588222.html
Copyright © 2011-2022 走看看