在Ionic v1(AngularJS)中如何设置与获取Querystring?
在Ionic v1 + AngularJS中设置与获取Querystring
在Ionic v1结合AngularJS开发时,处理URL的Querystring其实很顺手,用AngularJS内置的$location服务就能轻松搞定,我来给你拆解下具体操作:
一、设置Querystring
要给跳转的页面带上Querystring参数,有两种常用方式:
- 直接在路径后拼接参数(就是你给出的写法):
$location.path('/voucher-view?token=' + token);
- 更规范的AngularJS风格写法,分开指定路径和参数,这种方式处理多参数时更清晰:
$location.path('/voucher-view').search({ token: token }); // 如果有多个参数,直接在对象里添加即可 // $location.path('/voucher-view').search({ token: token, id: voucherId });
二、获取Querystring中的值
在目标页面的控制器里,同样用$location.search()方法就能拿到所有Querystring参数,它会返回一个包含所有参数的对象,直接取值就行:
// 获取所有参数对象 var urlParams = $location.search(); // 取出token参数 var token = urlParams.token; // 也可以直接链式调用简化代码 var token = $location.search().token;
路由配置注意事项
这里要提醒下,你的路由配置不需要特意在url字段里声明Querystring参数,就像你给出的配置那样完全没问题:
.state('voucher-view', { url: '/voucher-view', templateUrl: "templates/voucher-view.html", controller: 'VoucherViewController' })
Querystring是独立于路由状态存在的,只要路径匹配/voucher-view,不管有没有带参数,都会正常进入这个路由状态,完全不影响参数的传递和获取。
内容的提问来源于stack exchange,提问作者codegrid
相关产品推荐
相关产品推荐

