为了为整个应用程序提供模型,我需要使用ChangeNotifierProvider
作为MaterialApp
的父级。
但是作为MaterialApp
的父级,它无法访问Localizations.localeOf(context)
,因为此上下文需要来自MaterialApp
(我想知道为什么访问设备信息需要上下文,但这就是它的工作方式) )。
所以我在这里很漂亮。
我的模型需要在启动时考虑设备的语言来加载内容。如果我将ChangeNotifierProvider
放在MaterialApp
的子代中,则可以获取语言环境,但是如果我使用Navigator.push(...)
推送视图,则无法访问此模型。
有什么想法吗?
答案 0 :(得分:0)
好。
我找到了plugin来获取语言,而无需上下文(应该如此)。
这样,我可以将ChangeNotifierProvider用作MaterialApp的父级,一切都会按预期进行。
我在Flutter上填写了功能请求,以解决获取设备信息的上下文需求。没必要。如果您同意,请随时认可:https://github.com/flutter/flutter/issues/44229