【Vue项目】filters过滤器

在vue项目中需要对一些数据进行格式化,我们可以通过Vue.filter进行过滤

Vue.filter

过滤器在 Vue 实例中使用 Vue.filter 方法进行注册,注册成功就可以在任何 Vue模板中使用这些过滤器来对数据进行处理和格式化。

Vue项目中,过滤器可以在全局范围和局部范围内使用。

全局过滤器

全局过滤器是在 Vue 实例化之前定义的过滤器,它们可以在整个 Vue 应用程序中的任何组件中使用。通常在 Vue 实例化之前,通过 Vue.filter 方法来定义全局过滤器。例如:
在utils文件夹中创建filter.js文件:

// /src/utils/filter.js
import Vue from 'vue';
import moment from 'moment';
import 'moment/locale/zh-cn';
import 'moment/locale/zh-tw';
import 'moment/locale/en';
const defaultLang = 'zh-tw'
const currentLang = localStorage.getItem('lang') || defaultLang
// 设置moment插件是用当前语言
moment.locale(currentLang);

Vue.filter('dayjs', function (dataStr, pattern = 'YYYY-MM-DD HH:mm:ss') {
   
  return moment(dataStr).format(pattern);
});

把filter.js文件作为模块引入main.js

import Vue from 'vue'
import i18n from './i18n'
import App from './App.vue'
import store from './store/'
import router from './router'
// 项目全局配置
import './utils/filter'
...
new Vue({
   
  router,
  store,
  i18n,
  render: h => h(App)
}).$mount('#app')

可以在整个项目其他vue实例中使用:

<template>
  <div>
    <p>{
   {
    someDate | dayjs }}</p>
  </div>
</template>

在这个示例中,我们定义了一个名为 dayjs 的全局过滤器,用于将日期格式化为指定的格式。在任何 Vue 组件中,只要使用了 dayjs 这个过滤器,它都会生效。这里做了多语言化

局部过滤器

局部过滤器是在组件的选项中定义的过滤器,它们只能在当前组件的模板中使用。在组件的选项中,通过 filters 属性来定义局部过滤器。例如:

<template>
  <div>
    <p>{
   {
    someDate | dayjs }}</p>
  </div>
</template>

<script>
import moment from 'moment';
// moment多语言包
import 'moment/locale/zh-cn';
import 'moment/locale/zh-tw';
import 'moment/locale/en';
const defaultLang = 'zh-tw'
const currentLang = localStorage.getItem('lang') || defaultLang
// 设置moment插件是用当前语言
moment.locale(currentLang);

export default {
   
  data() {
   
    return {
   
      someDate: '2022-01-01'
    };
  },
  filters: {
   
    dayjs(dataStr, pattern = 'YYYY-MM-DD HH:mm:ss') {
   
      return moment(dataStr).format(pattern);
    }
  }
}
</script>

在这个示例中,我们在组件的选项中定义了一个名为 dayjs 的局部过滤器。在模板中使用 dayjs 过滤器时,它只能在当前组件中生效。

相关推荐

  1. Vue项目filters过滤器

    2024-02-08 08:46:01       28 阅读
  2. Vue.js(过滤器(Filter))

    2024-02-08 08:46:01       16 阅读
  3. vue filters 过滤器vue页面 全局使用

    2024-02-08 08:46:01       38 阅读
  4. 过滤器Filter

    2024-02-08 08:46:01       26 阅读
  5. 过滤器 -- Filter

    2024-02-08 08:46:01       8 阅读
  6. Filter过滤器学习使用

    2024-02-08 08:46:01       29 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-08 08:46:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-08 08:46:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-08 08:46:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-08 08:46:01       20 阅读

热门阅读

  1. List与数组相互转换

    2024-02-08 08:46:01       32 阅读
  2. 突破编程_C++_面试(基础知识(8))

    2024-02-08 08:46:01       29 阅读
  3. C语言:矩阵中的最小元素

    2024-02-08 08:46:01       28 阅读
  4. 51 单片机入门 400 例

    2024-02-08 08:46:01       26 阅读
  5. LeetCode 第28天

    2024-02-08 08:46:01       32 阅读
  6. 12.Swift字典

    2024-02-08 08:46:01       25 阅读
  7. Linux增删ip

    2024-02-08 08:46:01       28 阅读