当我们全局注册的组件有多个的时候,我们该如何简洁的引入呢?

357 阅读1分钟

答案就是:

在公共组件的文件夹内创建一个index.js的文件,然后把所有的公共组件都导入到这个index.js的文件内,然后再通
过main.js进行全局注册

具体操作步骤如下:

这是当前项目目录:

4279446-631f7f3cd96839de.webp

1.创建如下图中的文件夹和文件

4279446-d572d219c0de3c90.webp

2.在 Loading.vue 中定义一个组件

<template>
    <div class="loading-box">
        Loading...
    </div>
</template>

3.在 index.js 中 引入 Loading.vue ,并导出

// 引入组件
import LoadingComponent from './loading.vue'
// 定义 Loading 对象
const Loading={
    // install 是默认的方法。当外界在 use 这个组件的时候,就会调用本身的 install 方法,同时传一个 Vue 这个
    类的参数。
    install:function(Vue){
        Vue.component('Loading',LoadingComponent)
        //注意---这里可以同时引入注册多个组件
    }
}
// 导出
export default Loading

4.在 main.js 中引入 loading 文件下的 index

// 其中'./components/loading/index' 的 /index 可以不写,webpack会自动找到并加载 index 。如果是其他的名字就
需要写上。
import Loading from './components/loading/index'
// 这时需要 use(Loading),如果不写 Vue.use()的话,浏览器会报错,大家可以试一下
Vue.use(Loading)

5.在App.vue里面写入定义好的组件标签 <Loading></Loading>

<template>
  <div id="app">
    <h1>vue-loading</h1>
    <Loading></Loading>
  </div>
</template>

按照上面的步骤执行下来我们就可以使用我们的组件了