Как передавать данные по страницам в Ionic? - PullRequest
0 голосов
/ 04 января 2019

У меня есть приложение Ionic, на котором есть обычные страницы входа и регистрации пользователя, где я собираю информацию о пользователе, такую ​​как имя, адрес электронной почты, пароль и т. Д., И сохраняю ее в DB.

После входа пользователя в систему.У меня есть 2-3 страницы, где я прошу пользователя настроить некоторые основные данные.Как только пользователь завершит настройку данных, я перевожу его на домашнюю страницу.На домашней странице есть значок, нажав на который, пользователь попадает на страницу Account Settings, где я получаю все данные, введенные пользователем при регистрации, такие как имя, адрес электронной почты, адрес и т. Д. После извлечения их из БД.

Проблема в том, что я не уверен, как переносить или хранить адрес электронной почты, который пользователь вводил во время входа в систему, на всех этих страницах и использовать его в UserProvider/UserService, где может быть выполнен фактический запрос, такой как:

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

Вы, конечно, можете сделать это, используя navParams в Ionic, и передавать его по всем страницам, пока он не будет использован на последней странице, но это не похоже на правильное решение дляменя.

Поскольку я пришел из Java фона и использовал объект session для передачи данных через веб-страницы, я уверен, что здесь должен быть что-то эквивалентное, чего я не знаю.

Пожалуйста, руководство.

1 Ответ

0 голосов
/ 04 января 2019

Самый простой способ справиться с вашей ситуацией - создать файл службы и использовать этот файл службы во всем компоненте.

service

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;
  }
}

, а в другом компоненте вы можете получить значение userEmail, просто вызвав get() в вашем компоненте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...