传递对象作为$ state.go参数 [英] Pass object as parameter in $state.go

查看:1020
本文介绍了传递对象作为$ 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 ==

有关的base64更多信息

这篇关于传递对象作为$ state.go参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆