Vue 3는 저를 흥미에서 흥분으로 만들었습니다.
4774 단어 vuejavascript
특히 구성 요소 선언에 대해 이야기하고 있습니다.
이것은 일반적으로 Vue 2에서 수행하는 방법입니다.
<template>
<div>{{ hello }}</div>
</template>
<script>
export default {
data() {
return {
hello: 'world'
}
}
}
</script>
Vue 3(아직 출시되지 않음)에는 구성 API가 도입되었습니다. 이를 통해 옵션에 분산되지 않고 논리를 결합할 수 있습니다.
이에 대한 나의 첫 반응은 다음과 같습니다. 멋지네요. 복잡한 구성 요소에 유용할 것이지만 필요하지 않은 경우에는 이전 구성을 고수할 것입니다.
결국 위의 구성 요소는 다음과 같습니다.
<template>
<div>{{ hello }}</div>
</template>
<script>
import { ref } from 'vue'
export default {
setup() {
const hello = ref('world')
return {
hello
}
}
}
</script>
이제 이 간단한 구성 요소가 많이 변경되었습니다. 맞습니까? 실제로는 더 커졌습니다.
이제 요전에 새로운 RFC가 GitHub에 게시되었습니다. "설정"을 사용하면 일반적으로 메서드, 계산, 데이터 및 수명 주기 후크가 더 이상 필요하지 않으므로 "스크립트"를 설정하면 겉보기에 불필요한 오버헤드가 발생합니다.
따라서 이 새로운 제안을 통해 내부에서 직접 설정 방법을 사용하여 작업할 수 있습니다
<script>
.<template>
<div>{{ hello }}</div>
</template>
<script setup>
import { ref } from 'vue'
export const hello = ref('world')
</script>
This might look a little alien, but think about it. In Vue 2, we exported an entire object using
export default
for the template to use. With<script setup>
we export individual parts for the template to use.
약간의 상태를 추가하는 데 필요한 모든 들여쓰기와 함께 Vue에서 구성 요소를 설정하는 것은 항상 약간 지루했습니다. 이 svelte-react-mix는 이 문제를 완전히 제거합니다.
이제 귀하가 요청할 수 있는 구성 요소를 어떻게 등록합니까? 이것은 또한 DX 부스트를 얻었습니다. 가져오기 및 등록하는 대신 두 단계를 하나로 병합했습니다. 이 모든 것에 대해 여전히 약간의 논쟁이 있는 것 같지만 자세한 내용은 RFC를 확인하십시오.
RFC: https://github.com/vuejs/rfcs/pull/182
Reference
이 문제에 관하여(Vue 3는 저를 흥미에서 흥분으로 만들었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/michi/vue-3-just-got-me-from-interested-to-excited-oba텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)