Ionic 2 - Como gerenciar variáveis globais?

A SITUAÇÃO:

No meu aplicativo Ionic 2, eu tenho um login simples, cujo formulário está contido no menu direito. Você clica no ícone direito no cabeçalho - aparecerá o menu com o formulário de login.

O código de login está dentro do app.component e a visualização de login é app.html. O login bem-sucedido definirá uma variável global booleana - loginState - como true.

O objetivo é que todos os outros componentes - importando a variável global - possam conhecer esse estado de login.

O problema é que, após um login bem-sucedido, preciso ver as alterações imediatamente refletidas no componente homePage, e esse não é o caso.

Por exemplo, na página inicial, determinado conteúdo deve ficar imediatamente disponível para você após o login.

O CÓDIGO:

É aqui que eu configuro a variável global em um arquivo separado chamadoglobal.ts que eu importo em outros componentes:

export var global = {
    loginState : false
};

app.component:

Este é o componente do aplicativo em que importo a variável global e a defino como verdadeira após o login bem-sucedido:

import {global} from "./global";

loginSubmit()
{
    var email = this.loginForm.value.email.trim();
    var password = this.loginForm.value.password.trim();

    this.userService.submitLogin(email, password)
        .subscribe((response) => {
            if(response.result == 1) 
            {
                global.loginState = true;
                this.menu.close();
            }
        }, (error) => {
            console.log(error);
        });

}

A QUESTÃO:

Qual deve ser o caminho a seguir para lidar com as mudanças em uma variável global que são imediatamente refletidas em outros componentes?

Posso chamar um método de componente homePage do app.component?

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion