vue全局注册组件及过滤器

257 阅读1分钟

过滤器:

新建一个filter.js文件

export default {
    // 操作返回无百分号的数据
    numUpDown(v) {
        return isNaN(v)?v:(v>0?('+'+v):v);
    }
};

在main.js引入

import filters from '@/components/global/filters';
Object.keys(filters).forEach(key => {
    Vue.filter(key, filters[key]);
});

组件:

新建一个 zLoadFaild.vue 文件

<!-- 加载失败页面 -->
<template>
    <div class="imgfa" @click='refresh'>
        <img class='imgdefault' src="@/assets/images/loadfailed.png" alt="">
        <span class="text">加载失败</span>
        <slot>
            <div class='refreshbtn' >立即刷新</div>
        </slot>
    </div>
</template>

新建一个 index.js 文件来引入并install组件

<!-- 加载失败页面 -->
export default {
    install(Vue) {
        Vue.component('z-loadfailed', () => import('./zLoadFailed.vue'));
    }
};

在main.js 引入处理

import zglobal from '@/components/global/index.js';
Vue.use(zglobal);

使用

<z-loadfaild></z-loadfaild>