自定义vue全局组件(Loading为例)

首先创建一个项目

vue init webpack-simple define-demo //define-demo 项目名称
cd define-demo     
npm install //安装本次所有需要的模块
npm run dev  //自动打开网页,验证项目创建成功

定义组件文件夹

在项目src目录下新建文件夹components用于存放所有的自定义组件,接着在components下新建loading文件夹,用于存放Loading组件,之所以创建loading文件夹是因为,你的Loading组件可能还需要依赖一些其他的文件时可放在loading文件夹中。最后在loading文件夹下新建index.js 和 Loading.vue 两个文件。

loading:组件文件夹
index.js:组件人口加载文件
Loading.vue:组件模板

在main.js中引入并Vue.use()

webpack首先会加载main.js,所以我们在main.js里面引入

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

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

这里简单定义一下

<template>
  <div>
    loading...loading...
  </div>
</template>

在index.js文件里面添加install方法,定义Vue.use()并且export Loading

import LoadingComponent from './Loading.vue'
const Loading = {
  install:function (Vue) {
    Vue.component('Loading',LoadingComponent)
  }
};
// 导出组件
export default Loading

在任意地方使用全局组件

比如在App.Vue里面使用组件,此时Loading组件已经在main.js定义加载了

<template>
  <div id="app">
    <h3>welcome loading</h3>
    <Loading></Loading>
  </div>
</template>

刷新npm run dev打开的页面即可看到效果

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文基于工作项目开发,做的整理笔记因工作需要,项目框架由最初的Java/jsp模式,逐渐转移成node/expre...
    SeasonDe阅读 7,489评论 3 35
  • vue-cli搭建项目 确保安装了node与npm 再目标文件夹下打开终端 执行cnpm i vue-cli -g...
    Akiko_秋子阅读 3,299评论 1 22
  • 开发一个项目,采用什么语言都可以,主要能熟练高效的开发都是合理的,这次我们采用vue来开发一个团队项目。在开...
    MsgSS阅读 2,976评论 3 9
  • 1. 组件的data为什么必须是函数? 组件中的 data 写成一个函数,数据以函数返回值形式定义,这样每复用一次...
    郭先生_515阅读 1,015评论 0 12
  • 今天来复查视力了,医生本来是让我们1月份来复查的,今天都3月10日了,推迟了两个多月。一直不想来复查,都感到很害怕...
    秋子的追寻阅读 364评论 0 0