Vue.js 기초 파트 8 | 방출

오늘은 Vue.js에서 emit에 대해 이야기해보겠습니다.

Vue.js 기본 시리즈의 8부입니다. 7부를 읽으려면 클릭하세요.

방출은 props 의 반대입니다. 즉, 자식 구성 요소에서 부모 구성 요소로 이벤트를 보냅니다(방출). 작동 방식:

<script>
export default {
  emits: ['response'],
  created() {
    this.$emit('response', 'hello from child')
  }
}
</script>

<template>
  <h2>Child component</h2>
</template>


위의 코드에서 볼 수 있듯이 emits: 배열을 사용하여 무언가를 방출합니다. 그런 다음 created(){} 속성을 사용합니다.this.$emit('response', 'hello from child') 이것은 여러 인수를 취합니다. 첫 번째는 이벤트 이름입니다. 둘째, 추가 인수가 이벤트 리스너에 전달됩니다. 따라서 부모 구성 요소에서 emit를 사용할 때 @ ( v-on: )를 사용하여 수행합니다.

상위 구성 요소는 다음과 같습니다.

<script>
import ChildComp from './ChildComp.vue'

export default {
  components: {
    ChildComp
  },
  data() {
    return {
      childMsg: ''
    }
  }
}
</script>

<template>
  <ChildComp @response="(x) => childMsg = x"/>
  <p>{{ childMsg }}</p>
</template>


먼저 구성 요소를 다음과 같이 가져옵니다. import ChildComp from './ChildComp.vue' , 구문을 기억하십시오 import <something> from <path> . 이후 import된 컴포넌트를 components 옵션에 등록합니다. 여기에 키 속성이 childMsg 인 데이터가 있고 해당 값은 초기에 빈 문자열입니다. 그러나 우리는 emit 자식 구성 요소에서 무언가를 받았기 때문에 @something 로 받을 수 있습니다. 우리가 코딩한 이후로emits: ['response']this.$emit('response', 'hello from child') , @response를 사용하여 수신
"(x) => childMsg = x" 이 코드 줄은 childMsg 데이터 값을 이 화살표 함수의 x 매개변수에 할당합니다. 그리고 자식 구성 요소this.$emit('response', 'hello from child')에서 가져옵니다. 첫 번째 인수는 이벤트 이름이고 다른 인수는 이벤트 리스너의 인수로 전달되므로 'hello from child' 를 전달합니다.

요약하자면, 오늘 우리는 chiled에서 부모 구성 요소로 이벤트를 전달하는 방법에 대해 이야기했습니다. 다음으로 Vue의 슬롯에 대해 이야기하겠습니다.

좋은 웹페이지 즐겨찾기