javascript - 从 Vue.js 中的方法调用全局过滤器
问题描述
我有一个从这里使用的全局过滤器:https ://www.npmjs.com/package/@vuejs-community/vue-filter-date-format来格式化我可以从 html 调用的日期,如下所示:
{{new Date(VALUE) | dateFormat('MMM. DD, YYYY', dateFormatConfig)}}
我试图从一种方法中调用它。这就是 Vuejs 所说的调用它的方式。
this.$options.filters.FILTERNAME(VALUE)
但我不知道如何使这项工作。这不起作用,因为没有 VALUE
this.$options.filters.dateFormat('MMM. DD, YYYY', dateFormatConfig)
我也试过这个:
this.$options.filters.dateFormat('MMM. DD, YYYY', VALUE)
和这个:
this.$options.filters.dateFormat(VALUE, 'MMM. DD, YYYY')
和这个:
this.$options.filters.dateFormat('MMM. DD, YYYY', dateFormatConfig)(VALUE)
这些都不起作用。有谁知道如何从方法中正确调用它?
更新:
事实证明这确实有效:
this.$options.filters.dateFormat(VALUE, 'MMM. DD, YYYY')
我需要将 VALUE 转换为:new Date(VALUE)
所以最终的结果是:
this.$options.filters.dateFormat(new Date(VALUE), 'MMM. DD, YYYY')
解决方案
我认为您的过滤器注册存在问题。在您的 index.js(主应用程序文件)中,您应该导入 asimport VueFilterDateFormat from '@vuejs-community/vue-filter-date-format';
然后Vue.use(VueFilterDateFormat);
或者您可以在某些组件中本地注册它。然后您将能够使用它,因为基本用法表明[这里]
推荐阅读
- javascript - 将格式化的 int 保存到 Javascript 的 firestore
- java - 如何在 java 中将现有日期对象转换为 24 小时时间格式?
- javascript - OnMouseDown 在 Scatterplot 中多次触发
- c# - 发票的项目行仅显示在最后一页,而不是每个人c#reportviewer
- java - Firebase 推送通知从模型类发送额外数据
- python - 调用 aws sagemaker 端点
- javascript - Web 应用:Firestore 缓存 - 仅读取更改的文档
- python - 获取串行输入以正确格式化为列表
- c++ - CRTP自动注册工厂(静态初始化命令惨败)
- sql - 查找包含确切三个孩子的记录