vue cli 创建全局过滤器
最近遇到一个需求,希望在无内容的情况下能用--
来表示无内容占位。所以,想来想去,用过滤器最好,然后既然是通用性,那么直接全局就行了。
创建过滤器
我们可以创建一个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>
直接使用管道符即可。
版权申明
本文系作者 @木灵鱼儿 原创发布在木灵鱼儿站点。未经许可,禁止转载。
暂无评论数据