vue-----自定义过滤器------局部/组件外封装------时间示例(引入/注册/使用)

74 篇文章 3 订阅

自定义过滤器

可以多源数据进行处理,并返回处理好的数据结果
过滤器的本质是一个函数,放在methods就是函数,放在filters就是过滤器.
将函数写在filters结构中,与普通函数的区别
1.过滤器有默认参数的传递
2.过滤器的调用方式与普通函数不一样

局部过滤器

在组件内部创建的过滤器,语法:
filters:{
过滤器名称:function(源数据,[其他参数…]){
业务处理
return 结果
}
}

<template>
  <div>
    <!-- 使用:源数据|过滤器名称 
    它会默认将|管道符前面的数据传递给过滤器,
    这时候括号内写入的参数默认第二个 -->
    <p>{{ time | dateFormat("-") }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      time: new Date(),
    };
  },
  // 局部过滤器:在组件内部创建的过滤器
  // filters:{
  //   过滤器名称:function(源数据,[其他参数...]){
  //     业务处理
  //     return 结果
  //   }
  // }
  filters: {
    dateFormat: function (value, spe) {
      // console.log("value");
      let year = value.getFullYear();
      let month = value.getMonth() + 1;
      let day = value.getDay();
      return `${year}${spe}${month}${spe}${day}`;
    },
  },
};
</script>
<style>
</style>

示例
**加粗样式**

全局过滤器

全局过滤器:在组件外部创建
单独创建js文件
语法:
Vue.filter(过滤器,function(源数据,[其他参数…]){
//业务处理
return 结果
})
注意:是filter,没有s,代表创建一个,而局部可以多个

// 封装时间过滤器
// export:暴露
export const dateFormat = function (value, spe) {
    let year = value.getFullYear();
    let month = value.getMonth() + 1;
    let day = value.getDay();
    return `${year}${spe}${month}${spe}${day}`;
}

三步骤:
1.引入
2.注册
3.使用

<template>
  <div>
    <!-- 3.使用:源数据|过滤器名称 
    它会默认将|管道符前面的数据传递给过滤器,
    这时候()内写入的参数默认第二个 -->
    <p>{{ time | dateFormat("-") }}</p>
  </div>
</template>

<script>
// 1.引入:如果js中使用Vue.filter来创建过滤器,name就不用再注册
//如果是使用函数的方式定义过滤器那么在引入的时候需要进行解构
import { dateFormat } from "./utils/myfilters";
export default {
  data() {
    return {
      time: new Date(),
    };
  },

  filters: {
    // 2.注册
    dateFormat: dateFormat,
  },
};
</script>
<style>
</style>

最终效果如局部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值