Flutter 提供者,关于 Dart 语法的问题
Flutter provider, question around Dart syntax
我对 Dart/Flutter、
比较陌生
只是在努力理解一些code/syntax,想知道是否有人可以帮助解释。
我正在查看设置多个提供程序的示例,但我无法理解设置 update
..
的代码
providers: [
// In this sample app, CatalogModel never changes, so a simple Provider
// is sufficient.
Provider(create: (context) => CatalogModel()),
// CartModel is implemented as a ChangeNotifier, which calls for the use
// of ChangeNotifierProvider. Moreover, CartModel depends
// on CatalogModel, so a ProxyProvider is needed.
ChangeNotifierProxyProvider<CatalogModel, CartModel>(
create: (context) => CartModel(),
update: (context, catalog, cart) {
cart.catalog = catalog;
return cart;
},
),
],
具体...
update: (context, catalog, cart) {
cart.catalog = catalog;
return cart;
}
我认为这是一个接受 3 个参数的函数 context、catelog、cart
但我没有看到它们首次实例化的地方
谁能解释一下这是怎么回事?
谢谢
update:
表示 ChangeNotifierProxyProvider<CatalogModel, CartModel>
构造函数的参数,向其传递一个采用三个参数的匿名函数。 ChangeNotifierProxyProvider 中(或附近)的代码将根据需要调用此函数。
我对 Dart/Flutter、
比较陌生只是在努力理解一些code/syntax,想知道是否有人可以帮助解释。
我正在查看设置多个提供程序的示例,但我无法理解设置 update
..
providers: [
// In this sample app, CatalogModel never changes, so a simple Provider
// is sufficient.
Provider(create: (context) => CatalogModel()),
// CartModel is implemented as a ChangeNotifier, which calls for the use
// of ChangeNotifierProvider. Moreover, CartModel depends
// on CatalogModel, so a ProxyProvider is needed.
ChangeNotifierProxyProvider<CatalogModel, CartModel>(
create: (context) => CartModel(),
update: (context, catalog, cart) {
cart.catalog = catalog;
return cart;
},
),
],
具体...
update: (context, catalog, cart) {
cart.catalog = catalog;
return cart;
}
我认为这是一个接受 3 个参数的函数 context、catelog、cart
但我没有看到它们首次实例化的地方
谁能解释一下这是怎么回事?
谢谢
update:
表示 ChangeNotifierProxyProvider<CatalogModel, CartModel>
构造函数的参数,向其传递一个采用三个参数的匿名函数。 ChangeNotifierProxyProvider 中(或附近)的代码将根据需要调用此函数。