访问pwa地址的url个参数
Access url parameters of pwa address
我是 ionic 2 的新手。在到处搜索后,我找不到以下情况的直接答案:
- 我正在用 ionic 2 构建一个 PWA(因为我稍后会开发这个应用的混合版本)
- 用户将找到并访问我的应用程序的地址将是标准域,例如
https://welcometotheapp.com?viewid=0101018737abcdefg
- 我正在使用 ionic 2,最近安装在 windows 10
- 我开始了一个新的空白应用程序项目
- 我的问题与导航无关。
我的问题是如何访问 url 参数 viewid
?我需要这个参数,以便应用程序将它发送到我的服务器端 REST api 并获得正确的 json 数据。我的用户通过 SMS 收到参数为 link 的 url。
我尝试使用一些建议,例如
但我正在旋转我的轮子。我也看过很多来自 Josh Morony 和其他人的 youtube 视频,但同样没有直接相关的内容。
有人可以帮忙解答这个问题吗?作为新手,如果在给定 ionic2 空白模板结构的情况下,在代码片段中标注出哪些代码在哪个文件中,那将非常有帮助。谢谢大家!
你可以试试普通的 javascript。我认为这不是 ionic 特有的。因为它主要不是基于导航的,所以 NavParams
将不起作用,我猜。
在 .js
中,您可以像这样 split
let myParam = location.search.split('viewid=')[1];
请注意,如果没有 viewId=
,则该变量将未定义。这是 location.search
的文档
我不得不使用 @angular/common
中的 Location
。所以我相信值得post另一个答案:
import { Location } from '@angular/common';
...
public urlParams: any;
constructor(..., public location: Location) {
this.initializeURLParams();
console.log(this.urlParams);
}
initializeURLParams() {
const path = this.location.path(true),
hasParams = /\?(.+?\=.+){1}/;
let params;
if (hasParams.test(path)) {
params = {};
path.split('?')[1].split('&').forEach(both => {
let e = both.split('=');
params[e[0]] = e[1];
});
}
this.urlParams = params;
}
我是 ionic 2 的新手。在到处搜索后,我找不到以下情况的直接答案:
- 我正在用 ionic 2 构建一个 PWA(因为我稍后会开发这个应用的混合版本)
- 用户将找到并访问我的应用程序的地址将是标准域,例如
https://welcometotheapp.com?viewid=0101018737abcdefg
- 我正在使用 ionic 2,最近安装在 windows 10
- 我开始了一个新的空白应用程序项目
- 我的问题与导航无关。
我的问题是如何访问 url 参数 viewid
?我需要这个参数,以便应用程序将它发送到我的服务器端 REST api 并获得正确的 json 数据。我的用户通过 SMS 收到参数为 link 的 url。
我尝试使用一些建议,例如
但我正在旋转我的轮子。我也看过很多来自 Josh Morony 和其他人的 youtube 视频,但同样没有直接相关的内容。
有人可以帮忙解答这个问题吗?作为新手,如果在给定 ionic2 空白模板结构的情况下,在代码片段中标注出哪些代码在哪个文件中,那将非常有帮助。谢谢大家!
你可以试试普通的 javascript。我认为这不是 ionic 特有的。因为它主要不是基于导航的,所以 NavParams
将不起作用,我猜。
在 .js
中,您可以像这样 split
let myParam = location.search.split('viewid=')[1];
请注意,如果没有 viewId=
,则该变量将未定义。这是 location.search
我不得不使用 @angular/common
中的 Location
。所以我相信值得post另一个答案:
import { Location } from '@angular/common';
...
public urlParams: any;
constructor(..., public location: Location) {
this.initializeURLParams();
console.log(this.urlParams);
}
initializeURLParams() {
const path = this.location.path(true),
hasParams = /\?(.+?\=.+){1}/;
let params;
if (hasParams.test(path)) {
params = {};
path.split('?')[1].split('&').forEach(both => {
let e = both.split('=');
params[e[0]] = e[1];
});
}
this.urlParams = params;
}