我希望在操作后从Model1
的{{1}}中更改值。
例如:
Model2
在小部件中:
class Model1 extends ChangeNotifier {
String string = ‘string1’;
}
class Model2 extends ChangeNotifier {
String string;
void performOperation() {
string = ‘differentString’;
notifyListeners();
}
我已经通过打印@override
Widget build(BuildContext context) {
return ChangeNotifierProxyProvider<Model1, Model2>(
initialBuilder: (_) => Model2(),
builder: (_, model1, model2) => model2
..string = model1.string,
),
child: Consumer<Model2>(
builder: (context, model2, _) =>
...
onPressed: () {
model2.performOperation();
进行了测试,但是string
中的string
甚至在Model1
之后都保持不变。
如何从performOperation()
更改Model1
string
的值?
谢谢!