Flutter GetX-绑定内的绑定

时间:2020-10-31 20:04:20

标签: flutter dart flutter-get

我对其中一种观点具有这种约束力:

class LoggedOutNicknameBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<LoggedOutNicknameController>(
      () => LoggedOutNicknameController(),
    );
  }
}

但是上述控制器也具有依赖性:

class LoggedOutNicknameController extends GetxController {
  LoggedOutNicknameController(this._repository);
  final IUserRepository _repository;

_repositoryGetxService,因此应该易于注入:

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;

1 个答案:

答案 0 :(得分:0)

我通过反复试验找出了可行的方法:

?0?Objects?*[?id=3]