반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- typescript
- 백준
- 자바스크립트
- Level1
- react
- sql
- 코테연습
- dp
- Level3
- python
- 리트코드
- CS
- C++
- Doitvue.js입문
- web
- 고득점Kit
- 프로그래머스
- OS
- 프로그래밍
- 카카오
- 파이썬
- Level2
- 리액트
- VUE
- 배열
- javascript
- 웹프로그래밍
- Medium
- 동적계획법
- LeetCode
Archives
- Today
- Total
[vue] 뷰.js에서 타입스크립트 사용하기 본문
반응형
https://vuejs.org/guide/typescript/overview.html#typescript-in-templates 읽고 필요한 부분만 정리한 내용
Using Vue with TypeScript
General Usage Notes
defineComponent()
TypeScript가 component option들의 타입을 제대로 추론하기 위해서 컴포넌트를 선언할 때 defineComponent를 사용한다.
import { defineComponent } from 'vue'
export default defineComponent({
// type inference enabled
props: {
name: String,
msg: { type: String, required: true }
},
data() {
return {
count: 1
}
},
mounted() {
this.name // type: string | undefined
this.msg // type: string
this.count // type: number
}
})
Usage in SFC
script 태그에 lang="ts"를 추가한다.
<script lang="ts">
import { defineComponent } from 'vue'
export default defineComponent({
data() {
return {
count: 1
}
}
})
</script>
<template>
<!-- type checking and auto-completion enabled -->
{{ count.toFixed(2) }}
</template>
TypeScript int Templates
<script lang="ts>일 때 template도 TypeScript 지원함
- 부자연스러운 코드
<script lang="ts">
import { defineComponent } from 'vue'
export default defineComponent({
data() {
return {
count: 1
}
}
})
</script>
<template>
<!-- type checking and auto-completion enabled -->
{{ count.toFixed(2) }}
</template>
count가 string일 때 에러남
- inline type cast를 통해 해결
<script setup lang="ts">
let x: string | number = 1
</script>
<template>
{{ (x as number).toFixed(2) }}
</template>
반응형
'Web > Vue' 카테고리의 다른 글
[Vue] 뷰 라우터 (Router, Nested Router, Named View) (0) | 2022.07.12 |
---|---|
[Vue] 뷰 컴포넌트 (props, emit, eventBus) (0) | 2022.07.07 |
[Vue] Vue 인스턴스, 라이프 사이클 (0) | 2022.07.07 |
[Vue] Vue.js란 (0) | 2022.07.07 |
[vue] Vue.js tutorial (0) | 2022.06.28 |
Comments