【问题标题】:What is the best way to define singleton properties in Flutter/Dart?在 Flutter/Dart 中定义单例属性的最佳方法是什么?
【发布时间】:2021-12-31 13:54:42
【问题描述】:

我在我的颤振项目中使用 flutter_easyLoading 包作为加载器。它在文档中说它创建了一个单例,我必须在某个地方只定义一次它的属性,它可以在整个应用程序中使用。定义这些属性的最佳做法是什么?

现在我正在像这样的初始屏幕文件中初始化它的变量。

class _SplashScreenState extends State<SplashScreen> {
  @override
  void didChangeDependencies() async {
    super.didChangeDependencies();
  EasyLoading.instance
    ..displayDuration = const Duration(milliseconds: 2000)
    ..indicatorType = EasyLoadingIndicatorType.fadingCircle
    ..loadingStyle = EasyLoadingStyle.dark;
 }

我应该这样做还是为所有这些属性定义一些 util 方法。

【问题讨论】:

  • 这能回答你的问题吗? How do you build a Singleton in Dart?
  • 不,这个问题是关于如何构造单例的。我已经有一个单例,我需要一种方法来使用给定的属性对其进行初始化,如最后的包文档中所述。
  • What is the best practice... 那么它可能会受到基于意见的问题。您能否包括您的代码 sn-p 和您面临的问题。
  • 更新问题

标签: flutter dart flutter-dependencies dart-pub


【解决方案1】:

您可以使用工厂构造函数在 dart 中实现单例类。

这是一个适应这种情况的简单示例

class EasyLoadingSingleton {
  static final EasyLoadingSingleton _easyloading = EasyLoadingSingleton._internal();

  factory EasyLoadingSingleton() {
    return _easyloading;
  }

  EasyLoadingSingleton._internal();
}

【讨论】:

  • 编辑了问题。请检查。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-25
  • 1970-01-01
  • 2015-12-11
  • 2011-03-22
  • 1970-01-01
  • 2017-01-19
  • 1970-01-01
相关资源
最近更新 更多