我想这样做(不可能):
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,
...
}
}
似乎suggestion is use ChangeNotifierProxyProvider
但这似乎效率很低。如果尚未在UI中使用此值,为什么还要用ChangeNotifierProxyProvider
创建另一个层?我只想在这里将Model1
和Model2
混合用于业务逻辑。
感谢帮助!
答案 0 :(得分:0)
一个模型无法使用提供程序访问另一个模型,因为模型不是窗口小部件,它们对提供程序和上下文一无所知。
如果您不想使用ChangeNotifierProxyProvider
,则可以提取共享逻辑来分离类或方法,并在模型中重用它。