Vue에서 Props 기본값을 지정하는 방법
5462 단어 vuetypescriptjavascriptwebdev
<Component name="my-component" />
name
prop 없이 이 구성 요소를 호출하려고 하면 코드에서 undefined
를 반환하거나 HTML로 렌더링할 때 텍스트가 없는 것처럼 반환합니다. Component
가 다음과 같다고 가정해 보겠습니다.<script>
export default {
props: {
name: String
},
mounted() {
console.log(this.name);
}
}
</script>
<template>
<p>
Hi {{ name }}
</p>
</template>
모든 구성 요소는
name
유형의 String
라는 소품을 정의하고 콘솔은 이 속성을 기록합니다. Hi {{ name }}
형식으로도 표시됩니다. 여기서 유일한 문제는 구성 요소가 호출될 때 name
가 정의되지 않은 경우 기본 이름이 지정되지 않는다는 것입니다.Vue에서 기본 소품 값 설정
Vue에서 기본 소품 값을 설정하는 것은 쉽습니다. Options API 을 사용하는 경우 속성을 개체로 확장하는 것만큼 쉽습니다. 예를 들어,
name
의 기본값이 "there"가 되도록 하려면 소품을 다음과 같이 업데이트합니다.export default {
props: {
name: {
type: String,
default: "there"
}
},
mounted() {
console.log(this.name);
}
}
이제 이름을 지정하지 않으면 메시지에 '안녕하세요'라고만 표시됩니다.
Composition API에서 기본 소품 값 설정
컴포지션 API에서 소품 정의는
defineProps
함수를 사용합니다. 이 함수는 옵션 API에 정의된 소품과 동일한 구문을 따릅니다. 기본값 없이 소품을 정의하는 것은 다음과 같습니다.import { defineProps } from 'vue';
const props = defineProps({
name: String
});
그런 다음 기본값을 추가하기 위해 이전과 마찬가지로 기본 속성을 갖도록 확장합니다
name
.import { defineProps } from 'vue';
const props = defineProps({
name: {
type: String,
default: "there"
}
});
Vue에서 필요에 따라 소품 설정
속성에 기본값을 설정할 필요가 없도록 하려면
required
필드를 사용하여 속성이 필요하도록 강제할 수 있습니다. 예를 들어 name
속성을 정의하려면 간단히 required
를 true
로 설정하면 됩니다.<script setup>
import { defineProps } from 'vue';
const props = defineProps({
name: {
type: String,
required: true
}
});
</script>
Reference
이 문제에 관하여(Vue에서 Props 기본값을 지정하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/smpnjn/how-to-give-props-default-values-in-vue-4jhb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)