반응형
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
- TensorFlow
- node
- Chrome
- localserver
- 오블완
- build
- 맥
- 개발
- MAC
- centos
- linux
- PYTHON
- jest
- vsCode
- 티스토리챌린지
- react
- 네트워크
- androidstudio
- 센토스
- webpack
- 리눅스
- IOS
- MachineLearning
- ReactNative
- unittest
- VirtualBox
- xcode
- qunit
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, ''))
})
/src/views/Hello.vue
<template>
<div>
<tsr-sample-component></tsr-sample-component>
Filter
<hr />
날짜 포맷: {{ '20221231' | date() }}
<hr />
날짜 포맷 인자: {{ '20221231' | date('YYYY년 MM월 DD일') }}
<hr />
화폐로: {{ 200000000 | toCurrency() }}
<hr />
숫자로: {{ '200,000,000' | toNumber() }}
</div>
</template>
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator'
import '@/filters/index'
@Component
export default class TestView extends Vue {
mounted () {
console.log(this.$options.filters?.date('20221231'))
console.log(this.$options.filters?.date('20221231', 'YYYY년 MM월 DD일'))
console.log(this.$options.filters?.toCurrency(200000000))
console.log(this.$options.filters?.toNumber('200,000,000'))
}
}
</script>
결과
2022-12-31
2022년 12월 31일
200,000,000
200000000
반응형
Comments