在我的应用程序中,我以下列方式使用提供程序;
我像这样创建时间表视图;
await Navigator.of(context, rootNavigator: true).push(
MaterialPageRoute(
builder: (BuildContext context) =>
ScheduleView.create(context, experience),
),
);
创建函数;
static Widget create(BuildContext context, ExperienceDetailed experience) {
final db = Provider.of<Database>(context, listen: false);
// to get initial data i need to call function
// db.getSchedules();
// can i just do it here ?
return ChangeNotifierProvider<ScheduleViewModel>(
create: (context) => ScheduleViewModel(db, experience),
child: Consumer<ScheduleViewModel>(
builder: (context, model, _) => ScheduleView(
experience: experience,
model: model,
),
),
);
在加载 ScheduleView 之前,我还想加载在 ScheduleView 中显示的初始数据集。
加载函数在名为“getSchedule()”的模型内部
目前我在“ScheduleView”中使用 initState 来调用这个函数并加载初始数据。
有没有办法在调用构建器之前加载数据。我见过名为 MultiProvider 和 ChangeNotifierProxyProvider 的选项。
它们可以在这里使用吗?