bindings_builder.dart
706 Bytes
import 'package:get/get.dart';
typedef BindingBuilderCallback = void Function();
/// 补回 GetX 新版中被移除的 BindingsBuilder。
/// 新版 get fork 删除了 BindingsBuilder,此类提供兼容替代。
// ignore: deprecated_member_use
class BindingsBuilder<T> extends Bindings {
final BindingBuilderCallback builder;
BindingsBuilder(this.builder);
/// 快捷方式:注册单个 Controller(使用 Get.put)
factory BindingsBuilder.put(
T Function() create, {
String? tag,
bool permanent = false,
}) {
return BindingsBuilder(
() => Get.put<T>(create(), tag: tag, permanent: permanent),
);
}
@override
void dependencies() {
builder();
}
}