0

我想这样做(不可能):

class Model1 extends ChangeNotifier {
...
  final List<Item> items = [];
}


class Model2 extends ChangeNotifier {

void performOperation() {
//Access items from Model1 here
final newItems = Provider.of<Model1>(context).items,
...
}


}

似乎建议是使用ChangeNotifierProxyProvider
但这似乎非常低效。ChangeNotifierProxyProvider如果我还没有在 UI 中使用这个值,为什么我必须创建另一个层?我只想在这里混合Model1Model2业务逻辑。

感谢帮助!

4

1 回答 1

0

一个模型不能使用提供者访问另一个模型,因为模型不是小部件,它们对提供者和上下文一无所知。
如果您不想使用ChangeNotifierProxyProvider,您可以提取共享逻辑以分离类或方法并在模型中重用它。

于 2019-08-17T10:45:08.733 回答