我知道对此可能有不同的看法,但我想做这样的事情:
late final MyModel myModel;
class MyModel extends Model {
// setState and getState functions
...
}
然后在启动时,我想将一个新的 scopedModel 从上面放入一个全局变量中,例如:
myModel = ScopedModel.of<MyModel>(context, rebuildOnChange: true);
我这样做的原因是,我不必在每个小部件中获取模型,然后将其提供给我的函数,这些函数进行 API 调用以将 API 的响应保存在模型中,例如像这样(简化):
void onButtonPressed({MyModel myModel, DataModel dataModel String email, String password}) {
myModel.loginUser(dataModel, email, password);
...
}
Future loginUser(DataModel dataModel, String email, String password) async {
...
dataModel.setUserData(response);
}
而是做这样的事情:
import 'dataModelGlobal.dart' // including the global variable dataModel
Future loginUser(String email, String password) async {
...
dataModel.setUserData(response);
}
您对此有何看法?有没有其他解决方案我不必将我的模型放入我的函数中?