我认识到FutureProvider
可以用于模型。需要通过其Future
方法初始化模型,因此我尝试了init() async
。但是FutureProvider
没有给出模型的实例。它给了FutureProvider
。
另外,在使用null
成功更新UI时,调用ChangeNotifierProvider
时FutureProvider
似乎没有更新UI。 notifyListeners()
得到相同的结果。有什么要解决的吗?谢谢。
Consumer
答案 0 :(得分:0)
您可以使用ChangeNotifierProvider
。每当调用notifyListeners
时,它将更新您的UI。
ChangeNotifierProvider(
create: (context) => MyModel()..init(),
child: MyHomePage(),
)
如果您在init方法中未执行任何操作,则实际上不需要调用init
。
如果您的MyModel
类仅用于单个int值,则您甚至不需要使用它。您可以执行以下操作:
ChangeNotifierProvider<ValueNotifier<int>>(
create: (context) => ValueNotifier<int>(0),
child: MyHomePage(),
);
在您的主页内
final counter = Provider.of<ValueNotifier<int>>(context);
您可以在Text
小部件中使用它,例如:
Text('${counter.value}')