angular - Navparam 传递的数据在 Ionic2 中不可用

标签 angular typescript ionic2 ionic3

在登录页面应用程序将获取UDIToken,如果登录/注册成功,它将传递给MapPage:

if (Token != "-1")
                   {                  
                this.navCtrl.push(MapPage, {UDI: this.UDI, Token: Token})
                this.navCtrl.setRoot(MapPage);
                this.navCtrl.popToRoot;

popToRoot 触发之前的构造方法中console.log(this.UDI, this.Token); 显示它们的值,但之后它们是未定义的。

this.UDI=this.params.get('UDI');
this.Token=this.params.get('Token');    
console.log(this.UDI, this.Token);

更新1:结果 enter image description here

正如您在进入 map 页面之前所看到的,它显示了正确的传递值

map.ts:39 2NYIRWI0N8Z6HW2M3HWR XWRU441NHH0B9GSHVC3P

但导航根页面更改后

map.ts:39 undefined undefined

最佳答案

您的键看起来像变量而不是字符串文字。因此您的键和值都是 UDI 和Token 的值。

尝试使用引号。

        this.navCtrl.setRoot(MapPage, {'UDI': this.UDI, 'Token': Token})

此外,您还可以使用参数进行 push 操作,然后使用参数进行 setRoot 操作。您的 map 页面被设置为根没有参数。 setRoot函数也需要参数

关于angular - Navparam 传递的数据在 Ionic2 中不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42670516/

相关文章:

error-handling - 如何两次处理异常

javascript - Angular 2( ionic 2): can't "render" Component inside Page

ios - Cordova/Ionic 2 相机权限问题 iOS 10.2.1

android - Ionic 移动应用程序是否可以免费构建生产级别?

angular - 在 Angular 模块中延迟加载 JS

javascript - 格式化数字以在每 1000 个因子处使用逗号

javascript - httpParams 删除未定义的参数

angularjs - 如何从另一个域 Angular typescript 调用api?

angular - 从 API 为 Angular 2 动态表单设置值

javascript - 从 angular 8.2 升级到 angular 9 问题