博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ionic跨页面传参
阅读量:5245 次
发布时间:2019-06-14

本文共 2603 字,大约阅读时间需要 8 分钟。

1、controller中添加$cacheFactory服务。

eg:从home页传递name到login页面显示

angular.module('ysw.controllers', [])    .controller('HomeCtrl', function ($scope, $cacheFactory, $state) {        try {            var name = '123';            $cacheFactory('cache').put('name',name);//创建一个缓存对象,再存name值            $scope.goTo = function () {              $state.go('login');            };        } catch (e) {            console.error(e);        }    })    .controller('LoginCtrl', function ($scope, $cacheFactory) {        try {            $scope.name = $cacheFactory.get('cache').get('name');//得到缓存对象再取值        } catch (e) {            console.error(e);        }    })

 PS:销毁对象cache

$cacheFactory.get('cache').destroy();

 删除键值对name

$cacheFactory.get('cache').remove('name');

 

 

 

以下例子传参方式均为:从home页面传递name和age到login页面:

angular.module('ysw.controllers', [])    .controller('HomeCtrl', function ($scope, $state) {        try {            var name = 'zella';            var age = '20';            $scope.goTo = function () {              $state.go('login',{name:name,age:age});//传参方式              $state.go('login',{
object:JSON.stringify(object)});//所传参数object为对象 }; } catch (e) { console.error(e); } }) .controller('LoginCtrl', function ($scope,$stateParams) { try { $scope.name = $stateParams.name; $scope.age = $stateParams.age;//接收参数方式 $scope.object= JSON.parse($stateParams.object);//所接收参数为对象} catch (e) { console.error(e); } })

 

 

2、接收参数的页面url中添加参数,以/:a/:b...等的方式

.state('login', {                url: '/login/:name/:age',                      cache: 'false',                views: {                    'default': {                        templateUrl: 'templates/login.html',                        controller: 'LoginCtrl'                    }                }            })

 3、接收参数的页面url中添加参数,以/{a}/{b}...等的方式

.state('login', {                url: '/login/{name}/{age}',                cache: 'false',                             views: {                    'default': {                        templateUrl: 'templates/login.html',                        controller: 'LoginCtrl'                    }                }            })

4、在app.js中添加params参数

.state('login', {                              url: '/login',                cache: 'false',                params:{name:'',age:''},                views: {                    'default': {                        templateUrl: 'templates/login.html',                        controller: 'LoginCtrl'                    }                }            })

 

转载于:https://www.cnblogs.com/zella/p/6905623.html

你可能感兴趣的文章
python:从迭代器,到生成器,再到协程的示例代码
查看>>
pytest的参数化测试
查看>>
Java多线程系列——原子类的实现(CAS算法)
查看>>
安装Pygame和pip的艰辛之路
查看>>
Hibernate的实体类为什么需要实现 java.io.Serializable 接口
查看>>
在Ubuntu下配置Apache多域名服务器
查看>>
多线程《三》进程与线程的区别
查看>>
Min Stack
查看>>
老鸟的Python入门教程
查看>>
Ubuntu下非常给力的下载工具--uget+aria2
查看>>
Nginx配置
查看>>
棋盘覆盖问题
查看>>
vs2003无法调试 解决方法收藏
查看>>
.net-一般处理程序及生命周期
查看>>
linux sed命令
查看>>
[Cycle.js] Making our toy DOM Driver more flexible
查看>>
LeetCode 160. Intersection of Two Linked Lists
查看>>
html标签的嵌套规则
查看>>
10个实用的但偏执的Java编程技术
查看>>
sql语句查询出数据重复,取唯一数据
查看>>