1. ホーム
  2. dart

[解決済み] Dartのグローバル変数

2022-11-18 13:04:01

質問

Dartのシングルページアプリケーションを作ろうと思っています。

私は最初のカスタム要素( custom-application ) を作成しました。この要素にはアプリケーション全体が含まれています。 この要素には、ビューのレンダリングに使用されるコンテナが含まれています。そして、ユーザー情報を含むサイドナビゲーションがあり、ユーザーがログインしたときに更新されます。

ビュー間で情報を共有したい。 どのようにすれば、グローバル変数を custom-application でグローバル変数を定義し、他のビューと共有することができますか?

例えば、アプリを起動したときは、認証されていません。ログインを呼び出すと ( login-view ) を呼び出すと、ログインフォームが表示されます。私が欲しいのは、アプリにログインしたときに custom-application 要素には、ネストされたビューによって読み込まれたユーザー情報が格納されます。 login-view で読み込んだユーザー情報を格納し、サイドナビゲーションを更新します。

それは可能ですか?

どのように解決するのですか?

ライブラリ・ファイルを作成し、そこに必要なグローバルのフィールドを作成するだけです。これらのフィールドにアクセスする必要がある場合は、どこでもこのライブラリをインポートします。

app.dart

import 'globals.dart' as globals;

main() {
  globals.isLoggedIn = true;
}

コンポーネント1.dart

import 'globals.dart' as globals;

class MyComponent {
  view() {
    if(globals.isLoggedIn) {
      doSomething();
    else {
      doSomethingElse();
    }
  }
}

グローバル.dart

library my_prj.globals;

bool isLoggedIn = false;

また