最近遇到一个需求,希望在无内容的情况下能用--来表示无内容占位。所以,想来想去,用过滤器最好,然后既然是通用性,那么直接全局就行了。

创建过滤器

我们可以创建一个js文件,然后export导出,再到main文件里面导入并激活。

创建一个名为globalFilters.js的过滤器文件,这个文件一般放在utils文件夹中,当然你也可以随意,只要能正确引入就行。

// 全局过滤器

// 无内容占位符
const placeholder = (value) => {
  if (!value) return "--";
  return value;
};

export default { placeholder }

这是一个简单的内容,如果你有多个过滤器需要导入,直接把具名写在导出的对象里面,英文逗号隔开。

激活全局过滤器

打开main.js文件

//全局过滤器
import filters from '@/base/utils/globalFilters';
// 全局注册过滤器 
Object.keys(filters).forEach(item => Vue.filter(item, filters[item]));

我们导出的是一个对象,对象里面包含了所有过滤器。

我们对这个对象进行遍历,先拿到所有key数组对象,然后循环。

每次循环使用Vue.filter进行注册过滤器。

使用

<span>{{内容|placeholder}}</span>

直接使用管道符即可。

分类: vue 项目实战 标签: 过滤器filtervue全局过滤器

评论

暂无评论数据

暂无评论数据

目录