#3-2 GetX - 종속성관리 : Binding
2022. 1. 21. 12:55ㆍFlutter
반응형

Get이 제공하는 바인딩 클래스는 상태 관리자와 종속성 관리자에 라우트를 결합하는 동시에 종속성 주입을 분리하는 클래스이다. 이를 통해 Get은 특정 컨트롤러가 사용될 때 표시되는 스크린을 알고 어디서 어떻게 그것이 제거되는지 알 수 있다.
📢바인딩 클래스 만들기
// count_binding.dart
import 'package:get/instance_manager.dart';
import 'package:getstudy/controller/reactive_controller.dart';
class CountBinding implements Bindings {
@override
void dependencies() {
Get.put(ReactiveController());
}
}
class를 생성하고 Binding을 implement한다. dependencies 안에 사용할 컨트롤러를 넣어준다.
📢라우트에 바인딩 사용 알리기 - 명명된 라우트
// main.dart
void main() {
runApp(
GetMaterialApp(
home: MyApp(),
debugShowCheckedModeBanner: false,
getPages: [
GetPage(
name: "/reactive",
page: () => ReactiveStateManager(),
binding: CountBinding()),
],
),
);
}
Get.toNamed()를 사용하면 라우트 지정시 binding 속성으로 바인딩 클래스를 넣어준다.
📢라우트에 바인딩 사용 알리기 - 일반 라우트
// main.dart
ElevatedButton(
onPressed: () {
Get.to(
() => ReactiveStateManager(),
binding: CountBinding(),
);
},
child: Text(
"반응형 상태관리",
style: TextStyle(
fontSize: 20,
),
),
)
Get.to()를 사용하면 Get.to()안에 binding 속성으로 바인딩 클래스를 넣어준다.
즉, 바인딩 시점은
1. Get.to() - 페이지 이동 시 바인딩 클래스 추가
2. Get.toNamed() - 라우트 설정 시 바인딩 클래스 추가
이렇게 볼 수 있을 것 같다.
반응형
'Flutter' 카테고리의 다른 글
[플러터로 달력만들기] #1. 기본 구조 작성하기 (0) | 2022.09.22 |
---|---|
플러터 버전관리를 위해 FVM을 사용해보자 (0) | 2022.09.15 |
#3-1 GetX - 종속성관리 : 인스턴스 메서드 (0) | 2022.01.21 |
#2-2 GetX - 상태관리 : 반응형 상태 관리 (0) | 2022.01.21 |
#2-1 GetX - 상태관리 : 단순 상태 관리 (0) | 2022.01.20 |