Vue.use自定义自己的全局组件

Posted wmui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue.use自定义自己的全局组件相关的知识,希望对你有一定的参考价值。

 通常我们在vue里面使用别人开发的组件,第一步就是install,第二步在main.js里面引入,第三步Vue.use这个组件。今天我简单的也来use一个自己的组件。

这里我用的webpack-simple这个简单版本的脚手架为例,安装就不啰嗦了,直接进入正题

首先看下目前的项目结构:

webpack首先会加载main.js,所以我们在main的js里面引入。我以element ui来做对比说明

import Vue from \'vue\'
import App from \'./App.vue\'

// 引入element-ui组件
import ElementUi from \'element-ui\'
import \'element-ui/lib/theme-default/index.css\'

// 引入自定义组件。index.js是组件的默认入口
import Loading from \'../components/loading\'
Vue.use(Loading);

Vue.use(ElementUi);
new Vue({
  el: \'#app\',
  render: h => h(App)
})

然后在Loading.vue里面定义自己的组件模板

<!-- 这里和普通组件的书写一样 -->
<template>
    <div class="loading">
        loading...
    </div>
</template>

在index.js文件里面添加install方法

import MyLoading from \'./Loading.vue\'
// 这里是重点
const Loading = {
    install: function(Vue){
        Vue.component(\'Loading\',MyLoading)
    }
}

// 导出组件
export default Loading

接下来就是在App.Vue里面使用组件了,这个组件已经在main.js定义加载了

<template>
  <div id="app">
  <!-- 使用element ui的组件 -->
  <el-button>默认按钮</el-button>

  <!-- 使用自定义组件 -->
  <Loading></Loading>
  </div>
</template>

下面是效果图

以上是关于Vue.use自定义自己的全局组件的主要内容,如果未能解决你的问题,请参考以下文章

自定义vue全局组件use使用(解释vue.use()的原理)

Vue 使用useprototype自定义自己的全局组件

vue自定义全局组件并通过全局方法 Vue.use() 使用该组件

vue自定义组件

Vue自定义插件(组件)Loading

vue 自定义组件的方法(两种之一)