传递对象作为$ state.go参数 [英] Pass object as parameter in $state.go
问题描述
我要导航到另一个国家/屏幕,并通过一个简单的JSON对象这一个屏幕。
I want to navigate to another state / screen and pass a simple json object to this next screen.
我有以下内容:
var benefit = { "x": "y"};
$state.go('pages.claimed', { 'benefit': benefit });
我的状态是这样的:
my state looks like this:
.state('pages.claimed', {
url: '/claimed',
views: {
'page': {
templateUrl: 'templates/pages/claimed.html'
}
}
})
我却无法访问该pages.claimed视图中的利益的对象/参数。我使用基于角度离子框架。
I can't however access the "benefit" object/parameter in the pages.claimed view. I'm using the ionic framework based on angular.
感谢您指出我在正确的方向!
Thanks for pointing me in the right direction!
推荐答案
解析对象JSON:
VAR效益= angular.toJson({X:Y});
状态PARAMS定义变量:
.STATE('pages.claimed',{
网址:'?/宣称PARAMS',
观点:{
页:{
templateUrl:'模板/页/ claimed.html
}
}
})
从控制器访问变量通过 $ stateParams
:
VAR效益= angular.fromJson($ stateParams.benefit);
这里全面的文档
编辑:
有几种方法为对象,从URL传递给控制器:
There are several ways to pass an object to controller from url:
的经查询参数:的
定义选项网址:'?/ yoururl A和B和C'
,
传递变量 yoururl A = 1&安培; B = 2及C = 3
的通过网址参数:的
定义选项网址:'/ yoururl / A / B /:C',
传递变量 yoururl / 1/2/3
的对于更复杂的情况,你可以使用Base64解析你的对象JSON字符串和连接code将其的
对象: {A:1,B 2,C:3}
JSON字符串: {一:1,B:2,C:3}
Base64编码恩codeD字符串: eyJhIjoxLCJiIjoyLCJjIjozfQ ==
定义选项网址:'?/ yoururl PARAMS
传递变量 yoururl?PARAMS = eyJhIjoxLCJiIjoyLCJjIjozfQ ==
这篇关于传递对象作为$ state.go参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!