Vue过滤器-filter

1. 局部定义过滤器

在这里插入图片描述

<!--
 * @Descripttion: vue过滤器-filter
 * @version: 
 * @Author: zhangfan
 * @email: 2207044692@qq.com
 * @Date: 2020-07-03 09:10:28
 * @LastEditors: zhangfan
 * @LastEditTime: 2020-07-14 14:13:56
--> 

<template>
  <div class="container">
    <p>原数据:{{message}}</p>
    <p>反转后的数据:{{message | reverseMessage}}</p>
    <p>转换成大写后的数据:{{message | toUpperCase}}</p>
    <p>过滤器串联后的数据:{{message | toUpperCase | reverseMessage}}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: "abcdefg"
    };
  },
  filters: {
    reverseMessage: function(value) {
      return value
        .split("")
        .reverse()
        .join("");
    },
    toUpperCase: function(value) {
      return value.toUpperCase();
    }
  }
};
</script>

<style  scoped lang="less">
</style>

2. 全局定义过滤器
在main.js中定义全局过滤器

Vue.filter('addNamePrefix', (value) => {
	return 'my name is' + value;
});

在这里插入图片描述

<!--
 * @Descripttion: vue过滤器-filter
 * @version: 
 * @Author: zhangfan
 * @email: 2207044692@qq.com
 * @Date: 2020-07-03 09:10:28
 * @LastEditors: zhangfan
 * @LastEditTime: 2020-07-14 16:05:46
--> 

<template>
  <div class="container">
    <p>原数据:{{message}}</p>
    <p>反转后的数据:{{message | reverseMessage}}</p>
    <p>转换成大写后的数据:{{message | toUpperCase}}</p>
    <p>过滤器串联后的数据:{{message | toUpperCase | reverseMessage}}</p>
    <p>使用全局过滤器后的数据:{{message | addNamePrefix}}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: "abcdefg"
    };
  },
  filters: {
    reverseMessage: function(value) {
      return value
        .split("")
        .reverse()
        .join("");
    },
    toUpperCase: function(value) {
      return value.toUpperCase();
    }
  }
};
</script>

<style  scoped lang="less">
</style>

3. 计算属性筛选,methods方法筛选
在这里插入图片描述

<!--
 * @Descripttion: vue过滤器-filter
 * @version: 
 * @Author: zhangfan
 * @email: 2207044692@qq.com
 * @Date: 2020-07-03 09:10:28
 * @LastEditors: zhangfan
 * @LastEditTime: 2020-07-14 16:17:27
--> 

<template>
  <div class="container">
    <p>原数据:{{message}}</p>
    <p>反转后的数据:{{message | reverseMessage}}</p>
    <p>转换成大写后的数据:{{message | toUpperCase}}</p>
    <p>过滤器串联后的数据:{{message | toUpperCase | reverseMessage}}</p>
    <p>使用全局过滤器后的数据:{{message | addNamePrefix}}</p>
    <p>使用全局过滤器后的数据:{{arr}}</p>
    <p>在computed中使用后的数据:{{changeArr}}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: "abcdefg",
      arr: [1, 2, 3, 4, 5, 6]
    };
  },
  filters: {
    reverseMessage: function(value) {
      return value
        .split("")
        .reverse()
        .join("");
    },
    toUpperCase: function(value) {
      return value.toUpperCase();
    }
  },
  computed: {
    changeArr: function() {
      const vm = this;
      let arrList = vm.arr;
      return arrList.filter(function(item) {
        return item % 2 == 0;
      });
    }
  }
};
</script>

<style  scoped lang="less">
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值