app.vue
<template>
<div>
<template v-for="item in list">
<div>
<span>{{item.name}}</span>
<span> - </span>
<span>{{item.role | roleValueToLabel}}</span>
</div>
</template>
</div>
</template>
<script>
export default {
name: '',
data() {
return {
list: [
{
name: 'Tom',
role: 1,
},
{
name: 'Jack',
role: 0,
},
{
name: 'Steve',
role: 2,
},
],
};
},
filters: {
/**
* 将数字值转换为显示文本
*/
roleValueToLabel(value) {
const mapping = {
0: '普通用户',
1: '付费用户',
2: '超级用户',
};
return mapping[value];
},
},
};
</script>
<style lang="scss" scoped>
</style>
# 单文件开发模式启动
$ vue serve
加过滤器后的显示效果
Tom - 付费用户
Jack - 普通用户
Steve - 超级用户