如何在没有 BuildContext 的情况下在简单的 class 中获取上下文
How to get context in a simple class without BuildContext in flutter
我正在使用此包插件 flutter_locales
进行应用程序本地化。因此,请使用此代码检查当前语言代码。
LocaleNotifier.of(context)!.locale!.languageCode;
现在的问题是,如果我在简单的 class 中使用此代码,这会在“上下文”中出错。
class Service {
var lang = LocaleNotifier.of(context)!.locale!.languageCode; // getting error on "context"
}
那么如何在服务中没有 BuildContext 的情况下防止这种“上下文”错误 class?
你根本不知道。您需要将 BuildContext context
传递给您的 Service
class。
试试这个:
class Service {
final BuildContext context;
Service(this.context);
String get lang => LocaleNotifier.of(context)!.locale!.languageCode;
}
然后在创建这个的时候传入context class.
我正在使用此包插件 flutter_locales
进行应用程序本地化。因此,请使用此代码检查当前语言代码。
LocaleNotifier.of(context)!.locale!.languageCode;
现在的问题是,如果我在简单的 class 中使用此代码,这会在“上下文”中出错。
class Service {
var lang = LocaleNotifier.of(context)!.locale!.languageCode; // getting error on "context"
}
那么如何在服务中没有 BuildContext 的情况下防止这种“上下文”错误 class?
你根本不知道。您需要将 BuildContext context
传递给您的 Service
class。
试试这个:
class Service {
final BuildContext context;
Service(this.context);
String get lang => LocaleNotifier.of(context)!.locale!.languageCode;
}
然后在创建这个的时候传入context class.