Vue 2 및 JSX를 사용하여 사용자 지정 이벤트 바인딩
커스텀 이벤트를 바인딩하지 않고 루트 태그로 바인드하고 싶다.mounted()
그래서 다음 코드를 시도합니다.
render (h) {
return (
<div on-custom-event={this.handleCustomEvent}></div>
)
}
하지만 크롬으로 실행해보니custom-event
를 사용하여 실행할 수 없는 DOM 에 바인드 되어 있습니다.$emit
단,VueJS 2
의 템플릿 구문은 다음과 같이 간단하게 실행할 수 있습니다.
<template>
<div @custom-event="handleCustomEvent"></div>
</template>
이 문제에 대해 도와주세요, 고마워요!
파티에는 조금 늦었지만...
이벤트를 트리거하려면 다음과 같이 해야 합니다.
protected render(h: any) {
return (
<a onClick={(e: any) => this.$emit('test')}>
{this.$slots.default}
</a>
);
}
이벤트를 청취하려면:
protected render(h: any) {
return (
<NavLink onTest={() => alert('clicked')}>
<i class='fa fa-bars'></i>
</NavLink>
);
}
문서의 예에 따르면 JSX 이벤트핸들러는 kebab-case가 아닌 camel-case여야 합니다.따라서 다음과 같이 시도해 보겠습니다.
render (h) {
return (
<div onCustomEvent={this.handleCustomEvent}></div>,
)
}
커스텀 이벤트가custom-event
. 다음 중 하나를 시도합니다.
onCustom-event
on-custom-event
https://github.com/vuejs/babel-plugin-transform-vue-jsx/issues/164에서 찾을 수 있습니다.
언급URL : https://stackoverflow.com/questions/43720060/binding-custom-event-with-vue-2-and-jsx
'programing' 카테고리의 다른 글
자바 제네릭스의 'E', 'T', '?'의 차이점은 무엇입니까? (0) | 2022.07.30 |
---|---|
키가 서로 다른 여러 v-for 루프로 인해 여전히 중복 키 오류가 발생함 (0) | 2022.07.30 |
Vuejs에서 v-select 옵션을 동적으로 사용하지 않도록 설정하는 방법 (0) | 2022.07.30 |
다른 Vue 컴포넌트에서 Vue 컴포넌트의 위치를 갱신하는 방법('반복') (0) | 2022.07.30 |
perror("...")와 fprintf("stderr, "...")는 언제 사용해야 합니까? (0) | 2022.07.30 |