过滤器是 Vue 2.x 中用于文本格式化的功能。它可以用在双花括号插值和 v-bind 表达式中,将数据转换后再显示。
过滤器本质是一个函数,接收一个值,返回处理后的值:
<div id="app">
<p>{{ message | capitalize }}</p>
</div>
<script>
new Vue({
el: '#app',
data: {
message: 'hello vue'
},
filters: {
capitalize(value) {
if (!value) return ''
value = value.toString()
return value.charAt(0).toUpperCase() + value.slice(1)
}
}
})
</script>
输出:Hello vue
使用过滤器:
使用计算属性:
Vue 3 已移除过滤器
在 Vue 3 中,过滤器已被移除。建议使用:
如果需要在 Vue 3 中使用类似功能,可以创建全局方法:
app.config.globalProperties.$filters = {
currency(value) {
return '¥' + value.toFixed(2)
}
}
<p>{{ $filters.currency(price) }}</p>