【问题标题】:How to pass data across pages in Ionic?如何在 Ionic 中跨页面传递数据?
【发布时间】:2019-01-04 02:25:10
【问题描述】:

我有一个Ionic 应用程序,该应用程序具有通常的用户登录和注册页面,我在其中收集用户的信息,例如姓名、电子邮件、密码等并将其存储在DB

一旦用户登录,我有一些 2-3 个页面,我要求用户设置一些基本数据。 用户完成数据设置后,我会将用户带到主页。 在主页上有一个图标,单击该图标,用户将被带到Account Settings 页面,我从数据库中获取用户在注册期间输入的所有数据,例如姓名、电子邮件、地址等。

问题是我不确定如何在所有这些页面上携带或存储用户在登录时输入的电子邮件地址并使用它 在UserProvider/UserService中可以执行实际查询如:

select * from user where email='john@abc.com';

您当然可以使用Ionic 中的navParams 来完成,并将它传递给所有页面,直到它在最后一页上使用,但这对我来说似乎不是正确的解决方案。

由于我来自Java 背景并且我使用session 对象在网页之间传递数据,我确信这里一定有我不知道的等效内容。

请指导。

【问题讨论】:

    标签: android ios angular ionic-framework mobile


    【解决方案1】:

    处理您的情况的最简单方法是创建一个服务文件并在您的组件中使用该服务文件。

    服务

    import { Injectable } from '@angular/core';
    
    @Injectable()
    export class userService {
     userEmail: string;
    
     get() {
    return this.userEmail;
     }
    }
    

    在您的注册页面中,您可以分配 userEmail 值,例如

    export classRegistartion {
      name:string;
    
    
      constructor(private _userService: userService, private router: Router) {
        this.name = `Angular! v${VERSION.full}`
      }
    
     reistrer(): void {
        // Code to navigate to the other component
        this._userService.userEmail = //email ngmodel;
      }
    }
    

    在另一个组件中,您只需在组件中调用 get() 即可检索 userEmail 值。

    【讨论】:

    • 当然,感谢@Hrishikesh 的想法。让我试试这个
    猜你喜欢
    • 1970-01-01
    • 2018-01-13
    • 2017-07-19
    • 2021-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多