vue 컴포넌트에서 매개 변수 전달 문제 (글로벌 등록, 로컬 등록)

첫째, 부모-자식 구성 요소의 정의

부모-자식 구성 요소에는 일반 부모-자식 구성 요소와 특수 부모-자식 구성 요소라고하는 두 가지 정의가 있습니다.
  1.1, 기존의 부모-자식 구성 요소

가져 오기로 다른 구성 요소를 가져오고 사용자 정의 태그를 사용하여 수신합니다. 현재 구성 요소의 구성 요소에 태그를 등록합니다. 페이지에서 직접 <custom tag> </ custom tag>로 사용할 수 있습니다. 현재 구성 요소는 상위 구성 요소이고 가져온 구성 요소는 하위 구성 요소입니다.
하위 구성 요소를 소개합니다. 여기에 사진 설명 삽입

하위 구성 요소 등록 :여기에 사진 설명 삽입

하위 구성 요소 사용 :여기에 사진 설명 삽입

1.2 특수 상위-하위 컴포넌트 컴포넌트
  는 라우팅에서 정의됩니다. 컴포넌트는 하위를 포함합니다. 또한 페이지의 양식을 사용하여 상위-하위 컴포넌트로 간주됩니다. 현재 컴포넌트는 상위 컴포넌트 및 라우터보기 라우팅입니다. 하위 구성 요소입니다. 여기에 사진 설명 삽입 main.vue에 도입 됨 :
여기에 사진 설명 삽입
현재 main.vue는 상위 컴포넌트이고 router-view에 의해 도입 된 container.vue는 하위 컴포넌트입니다.

둘째, 부모 구성 요소의 데이터 및 메서드 함수가 자식 구성 요소에 전달됩니다.

. 2.1 종래의 부모 구성 요소는 자식 구성 요소의 매개 변수 전달
  데이터 및 방법 여기에 사진 설명 삽입
패스 데이터 및 main.vue 부모 컴포넌트의 방법 : main.vue 상위 컴퍼넌트를 여기에 사진 설명 삽입
 header.vue 자식 요소 방법에 지나치게 데이터 및 데이터를 전달하기 위해 부모 요소 도입 : 여기에 사진 설명 삽입 사용을 header.vue 하위 구성 요소에서 부모 구성 요소가 전달한 데이터 및 메서드 :
여기에 사진 설명 삽입
2.1. 특수 부모 구성 요소를 자식 구성 요소에 전달합니다.

main.vue의 부모 컴포넌트는 기본적으로 위와 동일하지만 차이점은 부모 컴포넌트의 메소드 함수를 전달할 때 ":"대신 "v-on :"또는 "@"를 사용한다는 점입니다 여기에 사진 설명 삽입
. container.vue 하위 구성 요소에서도 동일합니다. 차이점은 부모가 허용된다는 점입니다. 구성 요소가 전달한 메서드 함수는 props를 사용하지 않습니다. 메서드에서 새 메서드를 정의하여 this. $ emit ( 'testRouter', 'val ') 메서드 본문에이 형식으로 부모 구성 요소의 메서드를 가져옵니다. 자식 구성 요소의 새로 정의 된 메서드에 값을 할당합니다. alert1은 바인딩시 부모 구성 요소에서 정의한 이름입니다. 메서드가 매개 변수를 사용하는 경우 val에 빈 문자열을 추가합니다.여기에 사진 설명 삽입

셋째, 자식 구성 요소는 데이터 및 메서드 함수를 부모 구성 요소에 전달합니다.

3.1. 기존의 자식 구성 요소는 부모 구성 요소에 데이터와 메서드를 전달합니다.

(1) 데이터 전달 : 하위 구성 요소는 주로 이벤트를 통해 상위 구성 요소에 데이터를 전달합니다.

하위 컴포넌트는 this. $ emit ( 'transferNum', this.num)을 통해 데이터 num을 전송하는 메소드를 정의하고 상위 컴포넌트는 transferNum 이벤트를 수신합니다. 이벤트가 트리거되면 함수가 실행되고 값이 할당됩니다.

여기에 사진 설명 삽입
하위 컴포넌트 의 데이터 및 데이터 전송 방법 : 상위 컴포넌트의 하위 컴포넌트에서 전송 기능을 모니터링하고 값을 할당하는 방법. 여기에 사진 설명 삽입
여기에 사진 설명 삽입
이러한 방식으로 데이터의 num 데이터를 상위 구성 요소에서 사용할 수 있습니다.
(2) 전달 방법 : 하위 컴포넌트는 잘 정의 된 메소드를 가지고 있으며, 상위 컴포넌트는 하위 컴포넌트를 참조 할 때 사용자 정의 태그에 식별자를 추가합니다. ref =”child1”은 하위 컴포넌트를 나타냅니다. 부모 컴포넌트는 메서드에 자체 메서드 이름을 정의합니다. 메서드 본문 : this.refs.child 1. fun. refs.child1.fun을 호출하는 것을 의미합니다. 전화로 의미R & LT E F S . C H I L D . 1 . F U N- . 이탈리아어 생각은 이다 를 통해 과잉 조정 상위 구성 요소에 할당 된 방법 심판의 이름에 재미 자식 1이라는 서브 어셈블리.

하위 컴포넌트 정의 방법 : 여기에 사진 설명 삽입
상위 컴포넌트에서 하위 컴포넌트를 참조 할 때 식별자 rel = 'abc'를 추가합니다. rel은 문법이고 abc는 여기에 사진 설명 삽입
상위 컴포넌트에 정의 된 메소드입니다. 주요 내용은 figure이고 메서드는 aaa로 표시됩니다. 자식 구성 요소의 setFun 메서드입니다. 여기에 사진 설명 삽입gerFun 메서드 3.2를 호출
여기에 사진 설명 삽입 하면 특수 하위 구성 요소가 데이터와 메서드를 부모 구성 요소에 전달합니다.

테스트 후 특수 하위 구성 요소가 부모 구성 요소로 데이터 및 메서드를 전송하는 것은 일반 하위 구성 요소가 부모 구성 요소로 전달하는 데이터 및 메서드와 동일합니다.

네, 형제 구성 요소가 가치를 전달

4.1 형제 구성 요소 소개

하위 구성 요소 인 두 구성 요소는 동일한 상위 구성 요소 여기에 사진 설명 삽입
여기에 사진 설명 삽입여기에 사진 설명 삽입4.2, main.js의 설정에서 참조됩니다.

여기에 사진 설명 삽입
4.3. 두 형제 구성 요소 사이의 구문
구성 요소 Header.vue 데이터를 보내는 방법을 정의해야합니다. 여기서 sendMsg는 여기에 정의 된 방법이고,이 함수는 페이지를 클릭 할 때 트리거되며, 함수 본문은 버스를 통해 $ emit을 사용합니다. 중앙 이벤트 버스 전송 이벤트를 전송하고 이벤트의 기능은 "hello world!"데이터를 전송하고 sendMsg와 전송을 구별하는 것입니다. 전자는 현재 페이지의 클릭 이벤트이고 후자는 전송 된 이벤트이며 필요합니다. 다른 구성 요소에 의해 모니터링됩니다.여기에 사진 설명 삽입
여기에 사진 설명 삽입

컴포넌트 Copy.vue에서 라이프 사이클이 생성되면 $ on을 사용하여 버스 중앙 이벤트 버스를 통해 컴포넌트 1에서 전송 된 전송 이벤트를 모니터링하고 매개 변수가있는 콜백 함수를 사용하여 전달 된 값을 수신하면 매개 변수는 다음과 같습니다. 전달 된 Value, 현재 구성 요소의 변수에 값을 할당합니다. 여기에 사진 설명 삽입
여기에 사진 설명 삽입
 Brother 구성 요소는 서로의 메서드를 호출하지 않으며 여러 번 사용되는 경우 개별 js 형식 파일의 메서드로 개별적으로 패키징 된 다음 직접 호출됩니다.

추천

출처blog.csdn.net/weixin_49549509/article/details/108873643