컴포넌트의 텍스트를 형식화하여 적용할 수 있도록 Vue에서 지원하는 기능.
<template>
<div>
<!-- 중괄호 보간법 -->
<div>{{ name | capitalize }}</div>
<!-- v-bind 표현 -->
<div v-bind:name="name | capitalize"></div>
</div>
</template>
<script>
export default {
name: "FilterExample",
data() {
return {
name: "john",
};
},
filters: {
capitalize: function (value) {
if (!value) return "";
value = value.toString();
return value.charAt(0).toUpperCase() + value.slice(1);
},
},
};
</script>
filter.js
// plugins/filters.js
// NPM
import Vue from "vue";
Vue.filter("capitalize", function(value) {
if (!value) {
return "";
}
value = value.toString();
return value.charAt(0).toUpperCase() + value.slice(1);
});
import "@/helpers/filters";
// ...
module.exports = {
plugins: [{ src: "@/plugins/filters.js" }]
};
<template>
{{ price | comma | dollar }}
</template>
<template>
{{ price | comma(arg1, arg2) }}
</template>