在cordova app中的2个角度应用之间传递参数

时间:2017-11-10 15:17:25

标签: angular cordova

我有一个cordova应用程序,它由2个角度应用程序(“login-app”和“app”)组成,具有以下结构:

index.html
login-app
  |-- ...
  |-- index.html    
app
  |-- ...
  |-- index.html

首先,我们进入“login-app”,当用户凭据正确时,它会重定向到“app”:

window.location.href = '../app/index.html';

然后,出于某种原因(例如更新用户密码),我想从“app”转到“login-app”,所以我这样做:

window.location.href = '../web-login/index.html?pageName=chgPwd';

为了切换到“login-app”并知道我想更改密码,我可以显示正确的组件。 在我的浏览器控制台中,我得到了这个:

Navigated to file:///android_asset/www/web-login/index.html?pageName=chgt-pwd

但我不知道如何在我的角度组件中获取这个“pageName”参数(在'login-app'中),我试过这个,使用'ActivatedRoute'类型的变量'route':

this.route.queryParams.subscribe(queryParams => {
      console.log('pageName >>> ' + queryParams['pageName']);
});

但它是'未定义'。

事实上,URL变成了这个:'file:/// android_asset / www / web-login /#/',我丢失了参数。

这样做有“干净的方式”吗?或者我可能需要设置一个父全局变量?

谢谢,

1 个答案:

答案 0 :(得分:0)

好的,使用localStorage

解决了问题