구글링하다가 getX controller파일에 저장한 함수를 불러오는 부분에서 막혀버렸었다
//notify_home_controller.dart
import 'package:get/get.dart';
class notifyController extends GetxController {
String whichPage = 'academy';
void changePage(num) {
this.whichPage = num;
print('whichPage값이 ${this.whichPage}로 변경되었습니다.');
update();
}
}
위의 코드에서 changePage함수를 사용하고 싶었는데, 메인 코드에서 사용하는 방법을 도저히 찾을 수가 없었다.
그래서 이것저것 시도해보다가 방법을 찾게 되었다.
Widget build(BuildContext context) {
,,,
//getX 사용을 위한 컨트롤러 생성
final usedNotifyController = Get.put(notifyController());
,,,,
onPressed: () {
//Get.find<notifyController>().changePage('academy');
usedNotifyController.changePage('academy');
}
}
바로 컨트롤러를 불러온 뒤 .을 붙여서 클래스 안에 값들을 가져오면 되는 것이었다.
컨트롤러를 불러오는 방법에는 2가지가 있는데, 하나는 변수로 선언하는 것과 사용할 때마다 Get.find<원하는 컨트롤러 이름>으로 불러오는 것이다.
변수로 저장을 해와도 객체 안에 값이 변경이 될까 싶었는데 계획대로 작동했다.
처음부터
사실 컨트롤러가 class로 저장된 것만 인지했어도 당연하게 생각을 했을 것인데 그렇지 못하고 시간을 많이 잡아먹었었다.
'Flutter > 짧은 글' 카테고리의 다른 글
[Flutter, zeplin] 버튼 크기 설정하기(dp) (0) | 2022.07.30 |
---|