Vue는 데이터 중심 뷰를 핵심으로 하는 인기 있는 프런트 엔드 프레임워크입니다. Vue에서는 상위 구성 요소와 하위 구성 요소 간의 데이터 공유가 일반적인 요구 사항입니다. 하위 구성요소의 값이 업데이트될 때 상위 구성요소의 값을 업데이트해야 하는 경우 Vue의 이벤트 시스템을 사용해야 합니다.
Vue의 이벤트 시스템은 구성 요소 간의 통신 메커니즘을 제공합니다. 구성 요소는 $emit 메서드를 통해 사용자 정의 이벤트를 전달합니다. 상위 구성 요소는 이 이벤트를 수신하고 데이터를 업데이트할 수 있습니다.
이제 vue가 상위 모듈의 값을 업데이트하는 방법을 자세히 소개하겠습니다.
Vue의 구성 요소 간 통신 메커니즘에서 상위 구성 요소는 props를 통해 하위 구성 요소에 데이터를 전달하고 하위 구성 요소에서는 $emit 메서드를 사용하여 상위 구성 요소의 이벤트를 트리거합니다.
상위 구성 요소에 데이터를 정의하고 이를 props를 통해 하위 구성 요소에 전달합니다. 코드는 다음과 같습니다.
Vue.component('child', { props: ['message'], template: '<div @click="changeMessage">{{ message }}</div>', methods: { changeMessage() { this.$emit('update:message', 'update message from child component') } } }) var app = new Vue({ el: '#app', data: { message: 'hello vue' }, mounted() { this.$on('update:message', message => { this.message = message }) } })
하위 구성 요소에서 ChangeMessage 메소드를 정의하면 $emit 메소드가 트리거됩니다. 및 필수 업데이트된 데이터 콘텐츠.
하위 구성 요소에 의해 트리거되는 이벤트를 수신하려면 상위 구성 요소에 마운트된 후크 기능을 정의하세요. 하위 구성 요소가 $emit 메서드를 트리거하면 상위 구성 요소의 이벤트 핸들러가 호출되고 데이터 콘텐츠가 업데이트됩니다.
props를 사용하여 데이터를 전달하는 것 외에도 Vue는 $parent를 통해 상위 구성 요소에 액세스하는 방법도 제공합니다. $parent를 통해 상위 구성 요소에 액세스하면 상위 구성 요소의 데이터 내용을 직접 수정할 수 있습니다.
다음은 코드 예시입니다.
Vue.component('child', { template: '<div @click="changeMessage">{{ message }}</div>', methods: { changeMessage() { this.$parent.message = 'update message from child component' } } }) var app = new Vue({ el: '#app', data: { message: 'hello vue' } })
하위 컴포넌트에서 this.$parent를 통해 상위 컴포넌트에 접근한 후, 상위 컴포넌트의 데이터 내용을 직접 수정합니다.
그러나 이 방법을 사용하면 긴밀한 결합 문제가 발생하므로 공식적인 프로젝트에는 사용하지 않는 것이 좋습니다.
Vue에서는 $root를 사용하여 루트 인스턴스에 액세스할 수도 있습니다. 각 Vue 인스턴스에는 해당 루트 인스턴스가 있으므로 $root를 사용하여 루트 인스턴스의 데이터 콘텐츠에 액세스할 수 있습니다.
다음은 코드 예시입니다.
Vue.component('child', { template: '<div @click="changeMessage">{{ message }}</div>', methods: { changeMessage() { this.$root.message = 'update message from child component' } } }) var app = new Vue({ el: '#app', data: { message: 'hello vue' } })
하위 컴포넌트의 this.$root를 통해 루트 인스턴스에 액세스한 후 루트 인스턴스의 데이터 내용을 직접 수정합니다.
그러나 이 방법을 사용하면 단단한 결합 문제가 발생할 수도 있으므로 공식 프로젝트에서는 사용하지 않는 것이 좋습니다.
Vue에서 하위 구성 요소는 $emit 및 $on 메서드를 통해 상위 구성 요소에 데이터를 전달할 수 있으며, 상위 구성 요소는 props 및 v-model을 통해 하위 구성 요소에 데이터를 전달할 수 있습니다. 동시에 상위 구성 요소 및 루트 인스턴스의 데이터 콘텐츠는 $parent 및 $root 메서드를 통해 액세스할 수 있지만 공식 프로젝트에서는 사용하지 않는 것이 좋습니다.
위에서는 Vue가 상위 모듈의 값을 업데이트하는 여러 가지 방법을 소개합니다. 개발자는 다양한 특정 상황에 따라 적절한 방법을 선택할 수 있습니다.
위 내용은 vue가 상위 모듈의 값을 업데이트하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!