반응형
prop 인수가 null인 경우 기본값 사용
다음과 같은 간단한 아바타 컴포넌트가 있습니다.
<template>
<img :src="src">
</template>
<script>
export default {
name: 'Avatar',
props: {
src: {
type: String,
default: '/static/avatar-default.png'
}
}
}
</script>
API에서 사용자 데이터를 가져왔는데 아바타 URL이 없다고 가정해 보겠습니다.이 경우 이 컴포넌트가 기본값을 사용하도록 하고 싶지만 통과할 때만 작동합니다.undefined
하지만undefined
JSON에서는 유효하지 않기 때문에 API 응답에서 반환할 수 없습니다.
내가 무엇을 원하는지 알 수 있는 방법은 없을까?null
아니면 이걸 해결할 더 좋은 방법이 없을까?
나는 다음 정보를 바탕으로 계산된 속성을 만들 것이다.src
이 경우 기본값을 반환하는 값을 제안합니다.src
이null
:
<template>
<img :src="source">
</template>
<script>
export default {
name: 'Avatar',
props: {
src: { type: String }
},
computed: {
source() {
return this.src || '/static/avatar-default.png';
}
}
}
</script>
또한 명시적으로 합격할 수도 있습니다.undefined
을 지지하다src
이null
컴포넌트가 기본값을 처리하는 것이 좋습니다.
<template>
<img :src="src || undefined">
</template>
이렇게 하면 효과가 있습니다.
<template>
<img :src="src || '/static/avatar-default.png'">
</template>
개인적으로는 null 값을 디폴트 값으로 강제하는 것 외에 프로포트의 디폴트 값을 유지합니다.
제가 알기로는 소품 정의로는 원하는 것을 이룰 수 없습니다.
언급URL : https://stackoverflow.com/questions/48195282/use-default-value-if-prop-argument-is-null
반응형
'programing' 카테고리의 다른 글
C++는 Java의 인스턴스와 동등합니다. (0) | 2022.07.14 |
---|---|
Google 글꼴을 VueJS 컴포넌트에 추가하려면 어떻게 해야 하나요? (0) | 2022.07.14 |
Vue.js 애플리케이션 내에서 로컬 버전의 데이터 개체를 사용하는 방법 (0) | 2022.07.14 |
Java는 왜 Throwable의 범용 서브클래스를 허용하지 않는가? (0) | 2022.07.14 |
C: clock()을 사용하여 멀티 스레드 프로그램의 시간을 측정합니다. (0) | 2022.07.14 |