gpt4 book ai didi

angularjs - 将对象作为 $state.go 中的参数传递

转载 作者:行者123 更新时间:2023-12-03 06:37:25 27 4
gpt4 key购买 nike

我想导航到另一个状态/屏幕并将一个简单的 json 对象传递到下一个屏幕。

我有以下内容:

var benefit = { "x": "y"};
$state.go('pages.claimed', { 'benefit': benefit });

我的状态如下所示:

.state('pages.claimed', {
url: '/claimed',
views: {
'page': {
templateUrl: 'templates/pages/claimed.html'
}
}
})

但是,我无法访问 pages.claimed View 中的“好处”对象/参数。我正在使用基于 Angular 的 ionic 框架。

最佳答案

将对象解析为json:

var benefit = angular.toJson({ "x": "y"});

在状态参数中定义变量:

.state('pages.claimed', {
url: '/claimed?params',
views: {
'page': {
templateUrl: 'templates/pages/claimed.html'
}
}
})

通过 Controller 访问变量 $stateParams:

var benefit = angular.fromJson($stateParams.benefit);

Here完整文档

编辑:

有多种方法可以将对象从 url 传递到 Controller :

通过查询参数:

定义选项url: '/yoururl?a&b&c',

传递变量yoururl?a=1&b=2&c=3

通过网址参数:

定义选项 url: '/yoururl/:a/:b/:c',

传递变量yoururl/1/2/3

对于更复杂的情况,您可以将对象解析为 json 字符串并使用 base64 对其进行编码

对象:{ a:1, b:2, c:3 }JSON 字符串:{"a":1,"b":2,"c":3}Base64 编码字符串:eyJhIjoxLCJiIjoyLCJjIjozfQ==

定义选项url: '/yoururl?params'

传递变量yoururl?params=eyJhIjoxLCJiIjoyLCJjIjozfQ==

More有关 Base64 的信息

关于angularjs - 将对象作为 $state.go 中的参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25115928/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com