inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Tạo ứng dụng Flutter dựa trên GetX

Tạo thanh điều hướng

onChangeNavBar 질문

Đã giải quyết

309

unknown4202931

3 câu hỏi đã được viết

0

7:07에서

 

bottomNavigationBar 의 속성으로

onDestinationSelected: controller.onChangeNavBar를 했는데,

 

onChangeNaveBar 의 파라미터인 idx는 어떻게 전달이 되는건가요?

flutter getx

Câu trả lời 1

0

Sirius B

안녕하세요!

onDestinationSelected: controller.onChangeNavBar 를 직관적으로 풀어서 작성해볼게요 :)

  1. 직관적인 표현

onDestinationSelected: (int idx) {
controller.onChangeNavBar(idx);
}

원래 형태는 위와 같습니다.

onDestinationSelected 에는 int 값에 대한 파라미터가 1개 존재해요.

(int idx) {} 부분이 Function 이기 때문에,
같은 형태의 Function 인 onChangeNavBar(idx) 를
마치 변수처럼 onChangeNavBar 로 넣어주게 되면
메소드의 파라미터가 그대로 대입되어 사용할 수 있게 됩니다.

  1. 간단한 표현

onDestinationSelected: controller.onChangeNavBar

그래서 1번과 2번은 완전히 동일하게 작동할 수 있어요.


마찬가지로 더 많은 파라미터를 가진 메소드를 이용할 때도 같은 원리로 사용할 수 있어요.
아래 추가 예시에서도 ExamWidget 을 표현한 2가지 방식 모두 완전히 동일하게 실행되게 됩니다.

  • 추가 예시

    void onExam(int p1, bool p2, String p3) {
    print('$p1, $p2, $p3');
    }

    ExamWidget(
    onExamEvent: onExam
    )
    // 또는
    ExamWidget(
    onExamEvent: (int p1, bool p2, String p3) {
    onExam(p1, p2, p3);
    }
    )

또 다른 질문이 있으면 다시 남겨주세요 😀

감사합니다!

146 자료는 학습완료가 체크가 안돼요

0

18

1

'플러터 개발환경 세팅하기' 링크 클릭시, 악성 스크립트 설치 유도 페이지로 이동하니 조심하시길 바랍니다.

0

44

2

[강의 문의] '앱 출시하기' 강의 추가 일정 관련하여 문의드립니다.

0

37

1

안드로이드 기기 실행 오류

0

46

2

플러터 세팅 후 새폴더 생성건

0

43

1

강의에서 사용된 안드로이드 스튜디오 버전을 알고싶어요.

0

56

2

강의 자료는 어디있나요?

0

37

1

이미지 업로드해도 프로필에 x만 떠요

0

59

3

cursor ai가 업데이트 되서 ui가 바뀌었는데 반영은 안될까요?

0

61

2

강의 잘 봤습니다.

0

43

2

25강 앱 아이콘 만드는 방법에서 그래픽 소스는 어디에 있나요?

0

49

1

자동화 프로그램 프로젝트

0

42

1

198강 (){onTap(e);}의 이해 돕기

0

65

1

Node 관련 질문입니다

0

79

3

구글 소셜 로그인 후 로그인 시 구글에러

0

65

2

실습중(개인 비용 관리 앱) 문의드려요

0

65

2

6강에 비디오가 이상해요

0

60

2

Isar 마지막 업데이트는 2년전입니다.

0

61

0

model, viewmodel

0

178

1

material theme

0

225

1

PageTransition 적용 후 뷰 적용 되지 않는 문제가 있습니다.

0

224

1

강의자료는 어디서 다운 받나요?

0

419

2

route의 pages

0

590

3

라우트 명은 어떻게 지정하나요?

0

390

1