filter 的使用

使用篇

filter的使用案例
.vue
<template>
  <div :class="`icon-${filterLabelEn(label)}`">{{ filterLabel(label) }}</div>
   // 或不用导入直接用,这种方法需要在main.js 引入filter.js
   // main.js
   // import * as filters from '@/filters'
   // Object.keys(filters).forEach(key => {
   //    Vue.filter(key, filters[key])
   // })
  // <div>{{label | filterLabel}}</div>
</template>
<script>
import { filterLabelEn, filterLabel } from '../../filter';
export default {

  methods: {
    // 如果没有在main.js导入,可以作为一个方法来使用
    filterLabelEn,
    filterLabel,
    ...otherMethods
  }
}
</script>
<style lang="scss" scoped>
	.icon-xh {
	  background: red;
	}
	.icon-xm {
	  background: yellow;
	}
</style>

.filter /index.js
import HandleText from '../utils/handleText.js';
export const filterLabel = value => {
  return HandleText.LABEL_ZH[parseInt(value)];
};
export const filterLabelEn = value => {
  return HandleText.LABEL_EN[parseInt(value)];
};

utils / handleText.js
const HandleText = {
  LABEL_ZH: {
    1: '小明',
    2: '小红',
    3: '小李',
    4: '小张'
  },
  LABEL_EN: {
    1: 'xm',
    2: 'xh',
    3: 'xl',
    4: 'xz'
  }
};
export default HandleText;

  

原文地址:https://www.cnblogs.com/TheYouth/p/13954193.html