I have this binding for one of my views:
class LoggedOutNicknameBinding extends Bindings {
@override
void dependencies() {
Get.lazyPut<LoggedOutNicknameController>(
() => LoggedOutNicknameController(),
);
}
}
But the above controller has a dependency too:
class LoggedOutNicknameController extends GetxController {
LoggedOutNicknameController(this._repository);
final IUserRepository _repository;
_repository
is a GetxService
so should be easy to inject:
class UserRepository extends GetxService implements IUserRepository {
Can I pass the _repository
to the LoggedOutNicknameController
via a binding?
If this is not possible to do with a binding, does my solution look fine? I have removed the binding entirely to allow me to inject the necessary components:
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;