반응형
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
- Android
- linux
- Chrome
- ReactNative
- MAC
- build
- react
- qunit
- PYTHON
- centos
- 오블완
- localserver
- 리눅스
- MachineLearning
- 네트워크
- vsCode
- unittest
- webpack
- androidstudio
- 티스토리챌린지
- jest
- 센토스
- 맥
- xcode
- VirtualBox
- TensorFlow
- 개발
- node
- IOS
Archives
- Today
- Total
로메오의 블로그
[Vue + typescript] filter 사용하기 본문
반응형
src/filters/index.ts
import { Vue } from 'vue-property-decorator'
import moment from 'moment'
/**
* 날짜포맷 변경
*/
Vue.filter('date', (value: string, param = 'YYYY-MM-DD') => {
return moment(value).format(param)
})
/**
* 화폐로
*/
Vue.filter('toCurrency', (value: number) => {
return value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')
})
/**
* 숫자로
*/
Vue.filter('toNumber', (value: string) => {
return Number(value.replace(/[^0-9.-]+/g, ''))
})
/**
* 디폴트값 부여
*/
Vue.filter('default', (value: string, defaultValue: number | string) => {
if (!value) return defaultValue
return value
})
filter 주입
<template>
<v-app>
<hello-world />
</v-app>
</template>
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator'
import HelloWorld from 'HelloWorld'
import '@/filters/index'
@Component
export default class App extends Vue {
}
</script>
사용하기
<template>
<div>
<p>총 {{ count | default(0) }} 개</p>
</div>
</template>
<script lang="ts">
import { Vue } from 'vue-property-decorator'
@Component
export default class TsrGrid extends Vue {
}
</script>
반응형
'Frontend > Vue' 카테고리의 다른 글
[Vue + typescript] chart.js (0) | 2022.08.04 |
---|---|
[Vue + typescript] *.d.ts 파일 만들기 (0) | 2022.08.03 |
[Vue + typescript] text editor 사용하기 - TOAST UI Editor for Vue (0) | 2022.06.16 |
[Vue + typescript] text editor 사용하기 - tiptap (0) | 2022.06.16 |
[Vue + typescript] 숫자 tween (0) | 2022.05.11 |
Comments