강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của unknown4202931
unknown4202931

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

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

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

onChangeNavBar 질문

Đã giải quyết

Viết

·

277

0

7:07에서

 

bottomNavigationBar 의 속성으로

onDestinationSelected: controller.onChangeNavBar를 했는데,

 

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

fluttergetx

Câu trả lời 1

0

Sirius B님의 프로필 이미지
Sirius B
Người chia sẻ kiến thức

안녕하세요!

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);
    }
    )

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

감사합니다!

Hình ảnh hồ sơ của unknown4202931
unknown4202931

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

Đặt câu hỏi