【发布时间】:2021-02-13 22:48:48
【问题描述】:
我对我的一个观点有这个绑定:
class LoggedOutNicknameBinding extends Bindings {
@override
void dependencies() {
Get.lazyPut<LoggedOutNicknameController>(
() => LoggedOutNicknameController(),
);
}
}
但是上面的控制器也有依赖:
class LoggedOutNicknameController extends GetxController {
LoggedOutNicknameController(this._repository);
final IUserRepository _repository;
_repository 是一个GetxService,所以应该很容易注入:
class UserRepository extends GetxService implements IUserRepository {
我可以通过绑定将_repository 传递给LoggedOutNicknameController 吗?
如果这不能通过绑定来实现,我的解决方案看起来不错吗?我已经完全删除了绑定,以便注入必要的组件:
class LoggedOutNicknameView extends GetView<LoggedOutNicknameController> {
LoggedOutNicknameView() {
final ldp = Get.put(LocalDataProvider());
final lds = Get.put(LocalDataSource(dataProvider: ldp));
repository = Get.put(UserRepository(lds));
controller = Get.put(LoggedOutNicknameController(repository));
}
LoggedOutNicknameController controller;
IUserRepository repository;
【问题讨论】:
标签: flutter dart flutter-get