이번 포스트에서는 3자리마다 쉼표 찍는 방법과 bytes 길이를 자동으로 표시하는 Vue.js의 필터에 대해서 설명합니다.
3자리마다 쉼표찍기
/main.js에 아래의 코드를 삽입합니다.
Vue.filter('currency', function (num) {
// jacked from: https://github.com/sindresorhus/pretty-bytes
if (typeof num !== 'number' || isNaN(num)) {
throw new TypeError('Expected a number');
}
return num.toFixed(0).replace(/(\d)(?=(\d{3})+(?:\.\d+)?$)/g, "$1,")
});
사용방법
{{ updateTotalBytes | currency }}
Bytes 길이 자동 표시
/main.js에 아래의 코드를 삽입합니다.
Vue.filter('prettyBytes', function (num) {
// jacked from: https://github.com/sindresorhus/pretty-bytes
if (typeof num !== 'number' || isNaN(num)) {
throw new TypeError('Expected a number');
}
var exponent;
var unit;
var neg = num < 0;
var units = ['B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
if (neg) {
num = -num;
}
if (num < 1) {
return (neg ? '-' : '') + num + ' B';
}
exponent = Math.min(Math.floor(Math.log(num) / Math.log(1000)), units.length - 1);
num = (num / Math.pow(1000, exponent)).toFixed(2) * 1;
unit = units[exponent];
return (neg ? '-' : '') + num + ' ' + unit;
});
사용방법
{{ updateDownloadBytes | prettyBytes }} / {{ updateTotalBytes | prettyBytes }}
사용 예시
아래의 그림에서 다운로드 중인 상태를 예쁘게 표시할 수 있습니다.
참고 주소
https://gist.github.com/james2doyle/4aba55c22f084800c199
728x90
'Tips, Tricks > Node, Vue, Electron' 카테고리의 다른 글
Ubuntu 에 LTS버전의 Node.js 설치하기(Installing LTS version of Node.js on Ubuntu) (0) | 2023.03.09 |
---|---|
Vue.js에서 동적 컴포넌트 사용하기(Dynamic Components in Vue.js) (0) | 2020.05.11 |
Vue.js에서 resize이벤트 처리하기 (0) | 2020.05.07 |
Vue.js : 입력양식 배열 사용하기(v-model array with Multiple Input) (0) | 2020.03.24 |
break 처리를 위한 forEach 대신 some으로 변경하기 (0) | 2020.03.17 |