>  기사  >  웹 프론트엔드  >  Vue2.0에서 하위 형제 구성 요소 간의 데이터 상호 작용을 구현하는 방법

Vue2.0에서 하위 형제 구성 요소 간의 데이터 상호 작용을 구현하는 방법

亚连
亚连원래의
2018-06-02 17:02:081469검색

이제 Vue2.0 하위 형제 구성 요소 간의 데이터 상호 작용 방법에 대한 기사를 공유하겠습니다. 좋은 참고 가치가 있으며 모든 사람에게 도움이 되기를 바랍니다.

동일한 수준의 Vue.js 컴포넌트 간의 통신에 대해 잘 알고 있어서 기록을 위해 이 글을 썼습니다.

Vue는 경량 프로그레시브 프레임워크입니다. 일부 기능과 장점은 자세한 내용을 다루지 않고 공식 웹사이트에서 확인하세요.

NPM 및 관련 명령줄 도구를 사용하여 초기화된 Vue 프로젝트의 디렉터리 구조는 다음과 같습니다

그런 다음 데모에 들어가서 먼저 템플릿 프로젝트에서 src/comComponents/Hello.vue를 삭제한 다음 삭제할 수 있습니다. App.vue에 있습니다. Hello 하위 구성 요소의 등록 및 사용과 관련하여 몇 가지 중요하지 않은 사항이 있습니다. 이때 App.vue는 다음과 같아야 합니다.

1. 먼저 중앙 이벤트 버스를 생성하고 src/assets/에 eventBus.js를 생성합니다,

내용은 다음과 같습니다. (eventBus에서는 새로운 Vue 인스턴스만 생성합니다. 앞으로는 컴포넌트 간 통신을 위한 브릿지 역할을 하게 됩니다. 중앙 이벤트 버스.)

2. firstChild 구성 요소를 만들고, eventBus 이벤트 버스를 도입한 다음, 버튼을 추가하고 클릭 이벤트를 바인딩합니다.

1. click 이벤트에 응답하는 sendMsg 함수의 auto userDefinedEvent 이벤트가 정의되고 문자열 매개변수가 전달됩니다. 2. $emit 인스턴스 메소드는 현재 인스턴스(여기서는 현재 인스턴스가 버스임)에서 이벤트를 트리거합니다. 추가 매개변수가 리스너 콜백에 전달됩니다.

3 secondChild 구성 요소를 만들고, eventBus 이벤트 버스를 도입하고, p 태그를 사용하여 전달된 값을 표시해 보겠습니다.

1. 마운트된 경우 userDefinedEvent를 수신하여 문자열에 전달합니다. 매개변수는 $on 리스너

2의 콜백 함수로 전달됩니다. Mounted: Vue 라이프 사이클의 후크 함수입니다. 간단히 말하면 Vue가 문서가 완료된 후 마운트된 함수를 호출하는 것과 유사합니다. 로드되었습니다.

3. $on: 현재 인스턴스에서 사용자 정의 이벤트를 수신합니다(현재 인스턴스는 버스입니다). 이벤트는 $emit에 의해 트리거될 수 있으며 콜백 함수는 이벤트 트리거 함수($emit)에 전달된 모든 추가 매개변수를 수신합니다.

4. 상위 컴포넌트에서 이 두 컴포넌트를 등록하고 두 컴포넌트의 태그를 추가합니다.

수정된 파일을 모두 저장한 후 브라우저 창을 열면 내용은 다음과 같습니다. CSS 처리)

Pass Value to Component 버튼을 클릭하면 값이 성공적으로 전달된 것을 볼 수 있습니다

요약:1. 데모에서는 eventBus를 사용하여 통신 브리지로 사용합니다

2. 값을 전달해야 하는 구성 요소에서 사용자 정의 이벤트를 트리거하려면 버스.$emit을 사용하고 매개변수를 전달하려면 버스.$on을 사용하세요. 데이터를 수신해야 하는 구성 요소의 사용자 정의 이벤트에 전달된 매개 변수는 콜백 함수에서 처리됩니다.

추가로:

1. 형제 구성 요소와 상위-하위 구성 요소 간의 데이터 상호 작용을 비교합니다. 둘째, 형제 구성 요소 간의 통신은 실제로 하위 구성 요소와 상위 구성 요소 간의 통신과 동일하며 실제로 통신 원칙은 동일합니다. $emit 및 $on 형식이지만 eventBus는 없습니다. 하지만 잘 생각해보면 부모 구성 요소는 실제로 이 이벤트 버스의 역할을 합니다. 2. Vue 인스턴스를 중앙 이벤트 버스로 사용하여 구성 요소 통신을 관리하는 이 방법은 더 간단한 통신 요구 사항이 있는 프로젝트에만 적합합니다. Vue는 처리를 위해 더 복잡한 상태 관리 모드도 제공합니다.

위 내용은 모두를 위해 제가 정리한 내용입니다. 앞으로 모든 사람에게 도움이 되기를 바랍니다.

관련 기사:

web3.js는 eth.getRawTransactionByHash(txhash) 메소드 단계를 추가합니다

nodejs가 mysql 데이터베이스에 간단히 접근하여 운영하는 방법의 예

vue-cli가 생성한 프로젝트, 여러 페이지를 구성하는 방법

위 내용은 Vue2.0에서 하위 형제 구성 요소 간의 데이터 상호 작용을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.