Tar*_*sai 2 dart flutter flutter-provider flutter-change-notifier
我想在另一个提供程序方法中使用 fetchdata() 并初始化变量。

小智 5
您可以将MultiProvider与ChangeNotifierProxyProvider一起使用
动作类(FirstModel)
class FirstModel with ChangeNotifier {
List<Strings> _names = ["Sat", "Sat2", "Sat3"];
List<Strings> get names {
return _names ;
}
}
Run Code Online (Sandbox Code Playgroud)
动作类(SecondModel)
class SecondModel with ChangeNotifier {
SecondModel(this.firstModel);
final FirstModel firstModel;
List<Strings> getNames(){
return firstModel.names;
}
}
Run Code Online (Sandbox Code Playgroud)
在main.dart中只需更新Multiprovider,示例如下
void main() {
runApp(
MultiProvider(
providers: [
ChangeNotifierProvider<FirstModel>(create: (_) => FirstModel()),
ChangeNotifierProxyProvider0<SecondModel>(
create: (BuildContext context) =>
SecondModel(Provider.of<FirstModel>(context, listen: false)),
update: (BuildContext context, SecondModel secondModel) =>
SecondModel(Provider.of<FirstModel>(context, listen: false)),
),
],
child: MyApp(),
),
);
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: MyHomePage(),
);
}
}
Run Code Online (Sandbox Code Playgroud)
类似的其他课程也可用...有关更多信息,请参阅下面的链接...
ChangeNotifierProxyProvider0 类 API