티스토리 뷰
Component 내에 전반적으로 사용될 상수를 어떻게 선언해서 사용해야 할까?
해당 상수를 Component 상수라고 칭하겠다.
현재 프로젝트에서는 다음의 방법을 쓰고 있다.
data() {
// 상수
this.name = "Half"
return {}
}
data 속성에 return value로 넣지 않고 vue instnace에 바로 할당하는 방법이다.
이렇게 하면 vue data 선언 영역에서 어떤 데이터가 상수로 사용하는지 알 수 있다.
하지만 여기에는 2가지 문제점이 있다.
문제점
- 해당 데이터가 상수인지는 data 선언 영역에서만 확인이 가능
- 상수를 보장할 수 없음
methods: {
someFn() {
const result = `hi ${this.name}`
...
}
}
해당 코드에서 this.name만으로 유추할 수 있는 사실은 vue instnace의 속성이라는 사실밖에 없다.
사실은 Component 상수 인데도 말이다.
그럼 어떻게 해야 위 2가지 문제점을 해결할 수 있을까? 바로 다음과 같다
<script>
// Capital-Snake-Case
const NAME="Half"
const FULL_NAME="Road"
...
methods: {
someFn() {
const result = `hi ${NAME}`
...
}
}
...
대문자 + Underbar 표기법(Capital-Snake-Case)으로 작성을 하면 용도를 뚜렷하게 알 수 있다.
NAME만 보고도 상수인 것을 알며 const로 선언하였으니 당연히 상수를 강제할 수 있다.
Local 상수는 일반적인 camel-case를 사용하니, Component 상수인 것도 알 수 있다.
이렇게 표기법을 통해 Naming에 많은 정보를 내포하면 코드 유지 관리에 이점이 있다.
그렇다면 Template에서 사용을 해야 한다면 어떻게 해야 할까?
다음과 같다.
const NAME = "Half"
...
data() {
this.NAME = NAME
...
}
return value로 작성하지 않은 이유는 Reactive Data가 아니기 때문이다.(상수임을 명심하자)
이런 식으로 작성하면 Vue 성능에도 미미하지만 이점이 있을 것이다.
(Vue 내부에서 Reactive Data 처리를 별도로 하고 있으니...)
이상으로 Component 상수를 관리하는 방법을 알아보았다.
더 좋은 방법이 있으면 댓글로 공유해주시길 바란다.
'Vue.js' 카테고리의 다른 글
[vue] TypeError: Cannot read properties of null (reading 'isCE') 해결 (vue & vite 사용자) (0) | 2024.03.12 |
---|---|
[vue] Computed, Watch 공통점과 차이점 간단 정리 (0) | 2022.12.03 |
[Vue3] Child Component에 v-model 사용하기 (0) | 2022.08.30 |
[Vue] ESLint, Prettier 적용 및 VSCode 적용 (0) | 2022.08.24 |
[Vue x vite] @ path 별칭 의미 및 VSCode 설정 (0) | 2022.08.23 |
- Total
- Today
- Yesterday
- unplugin-auto-import
- Oracle Database 19c install
- 외래키 인덱스 생성 구문 쿼리
- mariadb 외래키 조회
- 외래키 생성
- postgresql 수정시간 자동 갱신
- docker multi stage build
- postgresql 트리거
- 스파르타 코딩클럽
- epel repo
- postgresql on update current_timestamp
- 외래키 삭제
- 1종 적성검사
- Oracle Database 19C 설치
- 1종 적성검사 국가건강검진
- express crud
- 오블완
- 티스토리챌린지
- 강서 운전면허 시험장
- postgresql 외래키
- rest api 단건 다건
- dockerignore
- rest api 조회 생성 수정 삭제
- 1종 적성검사 과태료
- epel/x86_64
- docker image 경량화
- postgresql trigger
- 1종 적성검사 신체검사
- rest api crud
- oracle 19c 설치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |