上周工作中遇到的坑,打算这周复盘一下,记录下来,防止忘记。
1、App页面的原型大致如下

其实也还算简单,就几个表单项,重点是底下的几个输入框的数据,不是在本页面直接输入,而是由另一个表单页传过来的数据。通过点击添加按钮跳转的添加页面,在添加页面中填入数据,再传到本页面。
特殊地区运费页面如下:

那如何在不通过调用后台接口拿到该页面的数据呢?我的思路大致如下
1、通过naviagteTo中url带参将数据传入(以下代码中注释部分),但是这会导致一个问题,如果是navigateTo,每次点击保存后,跳转到模板页面,就会重新渲染模板页面,那么页面只能传入一次参数,如果想传第二个model,会覆盖前一次点击保存按钮传过去的数据,所以用这个方法不行

 submit(){// uni.navigateTo({//  url: './addFreightTemplate?item='+ this.model// })uni.$emit("handClickBack",{provinceCode: this.model.provinceCode,provinceCodeName: this.model.provinceCodeName,firstAmount: this.model.firstAmount,firstPrice: this.model.firstPrice,continueAmount: this.model.continueAmount,continuePrice: this.model.continuePrice,});uni.navigateBack()}
}

2、之后想到uni.$emit,uni.$on两个来进行页面间通讯,具体如何使用这里不赘述,自行百度,自定义一个事件监听,写在保存按钮的click方法中,代码如下
子页面:

     submit(){uni.$emit("handClickBack",{provinceCode: this.model.provinceCode,provinceCodeName: this.model.provinceCodeName,firstAmount: this.model.firstAmount,firstPrice: this.model.firstPrice,continueAmount: this.model.continueAmount,continuePrice: this.model.continuePrice,});uni.navigateBack()}
}

在父页面中接收传过来的数据,方法代码如下

async onShow() {uni.$on("handClickBack", res => {this.model.list.push({...res})console.log('list', this.model.list)// 清除监听uni.$off('handClickBack');})},

注意 一定要写在onShow()中,如果写在onLoad()中,就会数据覆盖

为了方便模板页面添加数据,我特地将添加页面写成组件,让模板页面的html代码简洁,可读性高

uniapp不同页面跳转传递数据相关推荐

  1. android数据回传多个页面_Android Day06四大组件之Activity多页面跳转和数据传递

    ToolBar中menu无法同时显示图标和文字问题的解决方法 Toolbar添加返回按钮 ToolBar与ActionBar 1.什么是Activity 官方文档是这么说的:Anwhich users ...

  2. ios把数据传递到另一个页面_iOS页面跳转及数据传递(三种)

    iOS页面跳转: 第一种 [self.navigationController pushViewController:subTableViewController animated:YES]; //描 ...

  3. 【小程序】实现页面跳转和数据传递方案

    文章目录 页面跳转和数据传递 wx的API跳转 navigator组件(了解) 页面跳转和数据传递 界面的跳转有两种方式:通过navigator组件 和 通过wx的API跳转 这里我们先以wx的API ...

  4. Android活动+《恐怖游轮》带你了解跳转传递数据如何随时结束程序小技巧

    恐怖邮轮(有剧透!没看过的建议先观看电影!也可以直接目录跳转相关知识点) 1.到达船坞,众人出海(页面跳转,数据传递) 1.1驱车前往:Intent 1.2杰西上车:putExtra 1.3杰西下车: ...

  5. 微信小程序开发-页面跳转传递参数

    微信小程序开发-页面跳转传递参数 页面跳转有四种方式,分别为wx.navigateTo.wx.redirectTo.wx.reLaunch.wx.switchTab,前面三种可通过url路径携带参数实 ...

  6. 6.Android的学习(Intent跳转页面,活动之间传递数据)

    Intent跳转页面 (1)使用显示Intent,首先创建一个空的活动,并且有布局,在onClick()下面添加: Intent里面的第一个参数是当前活动页面,第二参数是要跳转的活动页面.这段代码在当 ...

  7. Android应用开发:页面跳转和数据传递

    1. Activity的跳转 1.1 创建第二个Activity 需要在清单文件中为其配置一个activity标签 标签中如果带有这个子节点,则会在系统中多创建一个快捷图标 <intent-fi ...

  8. 面试题 - 两个页面间如何传递数据

    针对这个问题我只能说说自己的理解了,肯定会有遗漏,毕竟我前端也不怎么会,有其他方法的朋友可以指出来,这样我也好再学习一下. 1 如果页面A和页面B是同域的情况 如果是同域那么两者之间可以直接通过客户端 ...

  9. [转] 微信小程序 页面跳转 传递参数

    本文转自:http://blog.csdn.net/qq_31383345/article/details/52795212 微信小程序的页面跳转,页面之间传递参数笔记. CSDN微信小程序开发专栏, ...

最新文章

  1. 在macOS Sierria 10.12.2上升级默认的vim
  2. 数据库基础笔记(MySQL)4 —— 基础约束
  3. hdu 3449(依赖背包)
  4. 传递情感贺卡海报,你知道怎么设计么?让设计更简单,从临摹PSD模板开始
  5. pythonforeverybody中文版_PyTorch实现EverybodyDanceNow
  6. plc计算机辅助编程设计方法,国产plc怎么编程
  7. 黑马程序员视频-微信小程序-原生框架——项目搭建
  8. 基于Arduino的循迹小车
  9. Node.js 清洗万恶的种子
  10. Oracle Data Pump Schema 方式导入导出
  11. Leetcode--Java--212. 单词搜索 II
  12. android黑色背景图片,android显示PNG图片背景黑色问题 ImageView PNG 背景黑色
  13. Web客户端语言HTML、XHTML和XML相关知识介绍
  14. python-DRF_限流Throttling_自定义频率类_内置频率类使用_过滤排序功能
  15. python批量自动填写网页表单_使用python+selenium帮助你填写网站表单
  16. nginx启动、关闭、重启及常用的命令
  17. Linux目录与管理
  18. FAIR开源Detectron
  19. 无人机的微分平坦性详细推导+Mini snap
  20. 普通程序员的出路是什么?

热门文章

  1. 分布式Redis深度历险-复制
  2. Java之volatile
  3. 基于CentOS7.3构建企业级Vsftpd文件服务器
  4. 用python统计文章中单词出现的频次
  5. 一年前我在知乎上提了个愚蠢的问题:如何入门 Linux ?
  6. 【编译原理笔记16】代码优化:流图,常用代码优化方法, 基本块的优化
  7. windows下php不支持mysql
  8. CSS-文本垂直居中
  9. [02]基于webservice权限系统
  10. c++编写手机小游戏代码_手机也能编程?盘点这6个可以用手机编程的App!快收藏!...