ionic 页面传值问题
1.将数据传递到要跳转到的页面 (1)push() 要将新页面推送到堆栈,可使用push方法。同时也可以通过将数据传递给push方法的第二个参数,来将数据传递给下一个页面。 import {LoginPage } from'./login'; ... pushPage(){ this.navCtrl.push(LoginPage, { id: 123, name: "Carl" }); (2)[navParams]属性: import {LoginPage } from'./login'; ... @Component() class MyPage { params; pushPage: any; constructor(){ this.pushPage= LoginPage; this.params ={ id:123, name: "Carl" }; } } 然后在模板中跳转: Go (3)modal的create方法(与push()同理,数据作为create()方法的第二个参数) import {LoginPage } from'./login'; ... presentLoginPage() { let modal =this.modalCtrl.create(LoginPage , { id:123,name: "Carl"} ); modal.present(); } 数据传递到下个页面后,该页面如何接收呢? 用NavParams来接收数据。 首先导入NavParams ,然后注入到构造函数。 import { NavParams } from 'ionic-angular'; ... userInfo; constructor(public params: NavParams) { this.userInfo = params.data; } 这就可以得到整个对象。也可以使用params的get()方法接收,传入对象属性作为get()的参数 this.params.get('id'); 则将得到:123 2.将数据传递到Tabs的页面,用[rootParams]属性: 首先将数据按上方法传递到Tabs并接收(比如接收为userInfo),然后在Tabs模板中将数据传递到要传递的页面: ... ... 加入[rootParams]属性,将把数据userInfo传递到该页面,然后在该页面再用params接收即可。 3.使用Events发布订阅事件: 上面所说的方法,只能传递到要跳转到的页面。 如果要把数据传递到任何一个页面,使用Events,官网点这里 。 发布页面: import { Events } from 'ionic-angular'; //导入 ... export class EventsPage { user = '来自Events的数据' constructor(public events: Events) {} publishEvents(user) { console.log('User created!') this.events.publish('user:created',this.user, Date.now()); console.log(this.user) } } 要接收数据的页面(订阅页面): import { Component} from '@angular/core'; import { Events } from 'ionic-angular'; @Component({ selector: 'page-home', templateUrl: 'home.html' }) export class HomePage { myEvent; constructor(public events: Events) { events.subscribe('user:created', (user, time) => { HomePage.prototype.myEvent = user; }); } } 订阅必须再发布之前,不然接收不到。打个比喻:比如微信公众号,你要先关注才能接收到它的推文,不然它再怎么发推文,你也收不到。 另外,.subscribe()方法中有点this作用域的问题,可以简单粗暴的用原型指定:HomePage.prototype.myEvent 如有错误,请大佬们指出,不胜感激! --------------------- 作者:神奇的小卷毛 来源:CSDN 原文:https://blog.csdn.net/qq993284758/article/details/77679283 版权声明:本文为博主原创文章,转载请附上博文链接!
ionic 页面传值问题相关推荐
- 【转】Hbuilder MUI 页面刷新及页面传值问题
文章来源:http://www.111cn.net/sys/CentOS/67213.htm 一.页面刷新问题 1.父页面A跳转到子页面B,B页面修改数据后再跳回A页面,刷新A页面数据 (1).父页面 ...
- 【C#】Web页面传值小结-
1. 使用QueryString变量 QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法 ...
- layer用ajax往jsp页面传值,layer.open中父页面向子页面传值(示例代码)
1.咱先看图说话 父list.jsp 子operate.jsp 实现的代码 1 在父页面上完成对子页面的数据渲染 function setData(data) { var lay=layer.open ...
- 【转】ASP.NET中页面传值
http://www.cnblogs.com/wenly/archive/2008/06/10/1216678.html 一.目前在ASP.NET中页面传值共有这么几种方式: 1.表单提交, & ...
- ASP.NET页面传值的几种方式
一.目前在ASP.NET中页面传值共有这么几种方式: 1.表单提交, <form action= "target.aspx" method = "post&q ...
- angularJs 跨控制器与跨页面传值
虽然网上概括了四种或更多的传值方式,但我现在用的顺手的就两种 首先要知道AngularJs可以构建一个单页面应用程序,所以我划分为跨控制器传值 和 跨页面传值 两类 1.跨控制器传值-- $rootS ...
- 【页面传值6种方式】- 【JSP 页面传值方法总结:4种】 - 【跨页面传值的几种简单方式3种】...
页面传值--最佳答案6种方式: 一. 使用QueryString变量 QueryString是一种非常简单也是使用比较多的一种传值方式,但是它将传递的值显示在浏览器的地址栏中,如果是传递一个或多个安全 ...
- 一、目前在ASP.NET中页面传值共有这么几种方式:
一.目前在ASP.NET中页面传值共有这么几种方式: 1.表单提交, <form action= "target.aspx" method = "post&q ...
- ASP.NET跨页面传值(二)
在网页应用程序的开发中,页面之间的传值应该是最常见的问题了. 在这篇文章里,azamsharp 将为我们介绍一些ASP.NET页面传值的方式.本文所举的例子非常简单,仅仅包含了一个文本框和几个按钮,当 ...
最新文章
- Python | 一万多条拼车数据,看春运的迁徙图
- mysql5.7 数据表的基本操作
- CTFshow 命令执行 web50
- 谷歌 AI 中国中心成立,人工智能势不可挡?
- html ppt文件在线播放,[2018年最新整理]如何在PPT中插入html网页.ppt
- mysql mts_技术分享 | 回顾 MySQL 的 MTS
- ajax获取网页新闻,基于Ajax的新闻网页动态数据的抓取方法及系统
- 【渝粤题库】陕西师范大学164212 国际贸易实务 作业(专升本)
- HDU 5787 wolf Number 数位dp
- csrf 攻击及防御
- 3D旋转(CSS3)
- SQL查询效率:100万数据查询只需要1秒钟
- sql server 数据库设计实例
- 数据流图转换为软件结构图
- 阿里云商标注册价格和费用
- 苹果开发者账号注册和邓白氏申请流程
- Java笔记(韩顺平Java基础15-20章)
- Mixpanel获Andreessen Horowitz投资 为Viddy及Path提供分析服务
- 密码学之RSA加密原理解析
- 计算机整个文稿应用回顾主题,计算机应用基础(MS Office高级应用)
热门文章
- 完美的做图配色专辑,UI设计师赶紧收藏
- qq动态页面变方格_腾讯QQ音乐9.7.5正式版更新:「歌手主页个人主页」界面全新改版...
- UEFI 引导与 BIOS 引导
- plsql怎么用字段查表明_PLSQL查询语句
- springboot+mybatis+mysql(增删改查xml入门编程)
- netty大白话--字符串的收发(三)
- NodeMedia / NodeMediaClient-Android(一个简单,快速,免费的直播SDK)
- python windows记事本_pywinauto自动化操作记事本
- reduce python3_python3中reduce函数的使用
- mysql在test库中创建表stu_1.在mysql的test数据库中新建表,表名为student,表结构如下:...