我try 创建一个DART单页应用程序.

我已经创建了包含整个应用程序的第一个自定义元素(custom-application). 它有一个用于呈现视图的容器.以及将包含用户信息并在用户登录时更新的侧NAV.

我想在视图之间共享信息. 如何在custom-application中定义全局变量并与其他视图共享?

例如,当您启动应用程序时,您不会通过身份验证.当您调用/login(login-view)时,您将获得一个登录表单.我希望,当您登录应用程序时,custom-application元素存储嵌套视图login-view加载的用户信息,并更新侧边导航.

有可能做这件事吗?

推荐答案

只需创建一个库文件,并为您需要的全局文件创建字段.在需要访问这些字段的任何地方导入此库.

app.dart

import 'globals.dart' as globals;

main() {
  globals.isLoggedIn = true;
}

component1.dart

import 'globals.dart' as globals;

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

globals.dart

library my_prj.globals;

bool isLoggedIn = false;

您还可以

Dart相关问答推荐

如何获取包含在 Dart 包中的assets资源 的文件路径?

Flutter - MultiProvider 如何与相同类型的提供者一起工作?

如何在polymer应用程序中实现主要功能

使用 2 个类型参数声明类型StateNotifierProvider,但给出了 1 个类型参数

在Dart中进行系统调用?

Flutter drawArc() 方法绘制完整的圆而不仅仅是圆弧

MappedListIterable 不是子类型

如何保存 List 并使用 Hive 检索?

如何在 ListView 中添加额外的底部间距?

Flutter Dismissible 坚持必须从树中删除列表项

如何将圆形边框设置为flutter上的MaterialButton?

为什么使用Dart作为前端开发人员?

如何在Flutter应用程序中使用套接字?

Flutter中不能指定MultiPartFile的内容类型

Flutter 构建失败. Android 依赖 'androidx.core:core' 的编译(1.0.0)和运行时(1.0.1)类路径有不同的版本

Dart 库中part和part of背后的原因是什么?

Dart 中使用的const关键字是什么?

Dart:Iterable 与 List,总是使用 Iterable?

如何在 Dart 中连接两个字符串?

你如何在 Dart 中对异常进行单元测试?