自定義vue全局組件(Loading為例)

首先創(chuàng)建一個(gè)項(xiàng)目

vue init webpack-simple define-demo //define-demo 項(xiàng)目名稱
cd define-demo     
npm install //安裝本次所有需要的模塊
npm run dev  //自動(dòng)打開網(wǎng)頁,驗(yàn)證項(xiàng)目創(chuàng)建成功

定義組件文件夾

在項(xiàng)目src目錄下新建文件夾components用于存放所有的自定義組件,接著在components下新建loading文件夾,用于存放Loading組件,之所以創(chuàng)建loading文件夾是因?yàn)?,你的Loading組件可能還需要依賴一些其他的文件時(shí)可放在loading文件夾中。最后在loading文件夾下新建index.js 和 Loading.vue 兩個(gè)文件。

loading:組件文件夾
index.js:組件人口加載文件
Loading.vue:組件模板

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

webpack首先會加載main.js,所以我們在main.js里面引入

// 引入自定義組件。index.js是組件的默認(rèn)入口
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)
  }
};
// 導(dǎo)出組件
export default Loading

在任意地方使用全局組件

比如在App.Vue里面使用組件,此時(shí)Loading組件已經(jīng)在main.js定義加載了

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

刷新npm run dev打開的頁面即可看到效果

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文基于工作項(xiàng)目開發(fā),做的整理筆記因工作需要,項(xiàng)目框架由最初的Java/jsp模式,逐漸轉(zhuǎn)移成node/expre...
    SeasonDe閱讀 7,537評論 3 35
  • vue-cli搭建項(xiàng)目 確保安裝了node與npm 再目標(biāo)文件夾下打開終端 執(zhí)行cnpm i vue-cli -g...
    Akiko_秋子閱讀 3,354評論 1 22
  • 開發(fā)一個(gè)項(xiàng)目,采用什么語言都可以,主要能熟練高效的開發(fā)都是合理的,這次我們采用vue來開發(fā)一個(gè)團(tuán)隊(duì)項(xiàng)目。在開...
    MsgSS閱讀 3,055評論 3 9
  • 1. 組件的data為什么必須是函數(shù)? 組件中的 data 寫成一個(gè)函數(shù),數(shù)據(jù)以函數(shù)返回值形式定義,這樣每復(fù)用一次...
    郭先生_515閱讀 1,046評論 0 12
  • 今天來復(fù)查視力了,醫(yī)生本來是讓我們1月份來復(fù)查的,今天都3月10日了,推遲了兩個(gè)多月。一直不想來復(fù)查,都感到很害怕...
    秋子的追尋閱讀 393評論 0 0

友情鏈接更多精彩內(nèi)容