美文网首页
VUE----filter过滤器

VUE----filter过滤器

作者: JuMinggniMuJ | 来源:发表于2021-01-22 15:23 被阅读0次

我使用的是vue-cli2
vue中有种叫过滤器的东西,它可以将数据以我们想要的方式展示,其中过滤器又分为全局过滤器和局部过滤器。

1.局部过滤器:

顾名思义,局部过滤器就是在组件中使用,并且只在当前组件中生效的过滤器,它用于我们过滤不常用的数据。

//script中代码:
filter:{
  filter_name(val){
    return val_deal_function
  }
}
//模板中使用:
{{variable |filter_name}}
2.全局过滤器:

但是有的变量例如时间后端传来的数据是时间戳、金钱后端传来的有可能是整数,但是我们页面要显示的时间是时间格式、金钱需要保留两位小数等等,这个时候我们就可以定义一个全局过滤器减少代码的冗余。
1.在main.js同级目录下创建filters文件夹,在文件夹中创建filters.js文件。
2.这里我只简单封装了时间和金钱过滤器:


    /**
     * [将数字保留两位小数]
     * @Author   juming
     * @DateTime 2021-01-22T14:34:59+0800
     * @param    {[type]}                 val [description]
     * @return   {[type]}                     [description]
     */
    const my_number_format = function(val){
        return parseFloat(val).toFixed(2)
    }

    /**
     * [将时间戳格式化为YYYY-MM-DD HH:II]
     * [需要先将时间戳 * 1000,否则一直是1970年]
     * @Author   juming
     * @DateTime 2021-01-22T14:35:39+0800
     * @param    {[type]}                 val [description]
     * @return   {[type]}                     [description]
     */
    const my_date_format = function(val){
        let timestamp = parseInt(val) * 1000
        let date = new Date(timestamp);
      let seperator1 = "-";
      let seperator2 = ":";
      let month = date.getMonth() + 1;
      let strDate = date.getDate();
      if (month >= 1 && month <= 9) {
          month = "0" + month;
      }
      if (strDate >= 0 && strDate <= 9) {
          strDate = "0" + strDate;
      }
      let hours = date.getHours();
      if(hours >=0 && hours <=9){
          hours = "0" + hours;
      }
      let minutes = date.getMinutes();
      if(minutes >=0 && minutes <=9){
          minutes = "0" + minutes;
      }
      let currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate + ' ' + hours + seperator2 + minutes;
      return currentdate;
    }

export {
    my_number_format,
    my_date_format
}

3.main.js中引入:

import * as filters from './filters/filters'
Object.keys(filters).forEach(key => {
  Vue.filter(key, filters[key])
})

4.组件中就可以像局部过滤器一样直接使用。

相关文章

  • VUE----filter过滤器

    我使用的是vue-cli2vue中有种叫过滤器的东西,它可以将数据以我们想要的方式展示,其中过滤器又分为全局过滤器...

  • VUE过滤器和计算属性

    过滤器主要分为全局过滤器和局部过滤器。 全局过滤器如下: 局部过滤器如下: 计算属性如下: 过滤器中获取日期: 计...

  • 自定义过滤器的封装

    封装自定义过滤器 引入过滤器 添加+注册过滤器 使用过滤器

  • vue的过滤器及计算属性

    1,过滤器:让要显示在页面上的内容进行重新筛选2,过滤器分为全局过滤器和局部过滤器全局过滤器: 局部过滤器: 3,...

  • 2018-09-18 vue初学六(过滤器:filter(fil

    1.1过滤器 过滤器分为两种:1、全局过滤器:filter2、局部过滤器:filters 1.2过滤器 (当前时间...

  • 过滤器

    ...过滤器分为全局过滤器和局部过滤器全局过滤器的格式:html:{{数据,全局过滤器的名字}}//解析数据js:...

  • 六、过滤器的使用 ------ 2020-05-07

    1、过滤器的作用: 2、全局过滤器 3、局部过滤器 4、过滤器的使用

  • 过滤器和计算属性

    1、过滤器 过滤器指让要显示在页面上的内容进行重新筛选。 过滤器分为两种:全局过滤器、局部过滤器。 2、全局过滤器...

  • Vue的节点

    过滤器Filters 过滤器函数,必须定义在filters节点之下,过滤器本质是函数 分为私有过滤器和全局过滤器 ...

  • Vue进阶(1)

    一.过滤器 过滤器分为局部过滤器和全局过滤器 1.局部过滤器 格式 2.全局过滤器 格式 练习 1.当数字为小于1...

网友评论

      本文标题:VUE----filter过滤器

      本文链接:https://www.haomeiwen.com/subject/ignszktx.html