728x90
구글링하다가 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로 저장된 것만 인지했어도 당연하게 생각을 했을 것인데 그렇지 못하고 시간을 많이 잡아먹었었다.
728x90
'Flutter > 짧은 글' 카테고리의 다른 글
[Flutter, zeplin] 버튼 크기 설정하기(dp) (0) | 2022.07.30 |
---|