Vue ui組件封裝

開發(fā)過程中 Vue 的組件主要分為三類https://blog.csdn.net/weixin_44260504/article/details/89555563

  • 頁面組件榕吼。由 vue-router 指向的組件羹蚣,通常是在 router.js 中路由指向的組件顽素。主要承載當(dāng)前頁面的 html 結(jié)構(gòu)徒蟆,通常還包括數(shù)據(jù)獲取段审,數(shù)據(jù)整理寺枉,數(shù)據(jù)可視化等常規(guī)的前端業(yè)務(wù),整個(gè)組件文件較大,但是一般不包括 props 和自定義事件等埂蕊,因?yàn)轫撁娼M件作為路由的渲染疏唾,一般不可復(fù)用槐脏,不對(duì)外提供接口顿天。

  • 業(yè)務(wù)組件牌废。通常是在頁面組件中引入,針對(duì)當(dāng)前項(xiàng)目排抬,是對(duì)頁面中某個(gè)部分進(jìn)行拆分出來編寫的蹲蒲,具有特定的業(yè)務(wù)届搁,如獲取數(shù)據(jù)卡睦,整理數(shù)據(jù)等等還可以依賴外部庫么翰,如 axios、echarts檐迟、vuex 等溶其,業(yè)務(wù)組件可能會(huì)被多個(gè)頁面復(fù)用瓶逃,也可能只適用某個(gè)頁面厢绝,如果需要復(fù)用昔汉,需要抽象出一定的外部接口供頁面組件調(diào)用靶病。

  • 獨(dú)立組件娄周。不包含業(yè)務(wù),具有特定功能的基礎(chǔ)組件掷酗,比如日期選擇器技肩,按鈕虚婿,模態(tài)框等等然痊,作為項(xiàng)目的基礎(chǔ)組件,需要對(duì) api 進(jìn)行高強(qiáng)度的抽象唆香,以通過不同的配置實(shí)現(xiàn)不同的功能。比如 element-ui冯吓,iView 等,包含了很多基礎(chǔ)的 UI 組件。
    這類組件的開發(fā)最主要的是對(duì) api 的設(shè)計(jì)和提供的功能進(jìn)行具體的開發(fā)雹仿,要保證兼容性和通用性,還有性能邑商,在不依賴外部庫的情況下吭从,各組件的通信等等會(huì)比較復(fù)雜。

組件封裝(獨(dú)立組件)

通過vue-cli搭建的項(xiàng)目步做,目錄下都有components目錄,自定義組件一般放在這里将鸵。


image.png

編寫一個(gè).vue文件和.js文件
index.vue內(nèi)容如下:

<template>
  <div class="test_button">
    <button>
      hahaha
    </button>
  </div>
</template>
 
<script>
export default {
  name: 'TestButton' // 注意這里的name命名漩符,就是你以后封裝好后使用的組件名
}
</script>

<style lang="scss" scoped>
.test_button {
  position: relative;
  width: 300px;
  height: 300px;
  background-color: burlywood;
}
</style>

index.js內(nèi)容如下:

import TestButton from "./index.vue";
const testButton = {
  install: function(Vue) {
    // Vue.component()是用來注冊(cè)全局組件的
    Vue.component(TestButton.name, TestButton);
  }
};
export default testButton;

組件編寫完成后议蟆,在main.js中引入
image.png

這種方式引入的是全局組件路狮。

  • 獨(dú)立組件的開發(fā)最主要的就是對(duì)提供的外部接口進(jìn)行高度抽象奄妨,能通過配置實(shí)現(xiàn)需要的功能苹祟。提供外部接口的方式主要是通過組件之間通信的方式砸抛,如props,$emit和自定義事件评雌。這類組件之間代碼是完全獨(dú)立的。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末直焙,一起剝皮案震驚了整個(gè)濱河市景东,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌奔誓,老刑警劉巖斤吐,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異丝里,居然都是意外死亡曲初,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門杯聚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來臼婆,“玉大人,你說我怎么就攤上這事幌绍“涔樱” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵傀广,是天一觀的道長(zhǎng)颁独。 經(jīng)常有香客問我,道長(zhǎng)伪冰,這世上最難降的妖魔是什么誓酒? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮贮聂,結(jié)果婚禮上靠柑,老公的妹妹穿的比我還像新娘。我一直安慰自己吓懈,他們只是感情好歼冰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著耻警,像睡著了一般隔嫡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上甘穿,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天腮恩,我揣著相機(jī)與錄音,去河邊找鬼温兼。 笑死庆揪,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的妨托。 我是一名探鬼主播缸榛,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼吝羞,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了内颗?” 一聲冷哼從身側(cè)響起钧排,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎均澳,沒想到半個(gè)月后恨溜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡找前,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年糟袁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片躺盛。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡项戴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出槽惫,到底是詐尸還是另有隱情周叮,我是刑警寧澤,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布界斜,位于F島的核電站仿耽,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏各薇。R本人自食惡果不足惜项贺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望峭判。 院中可真熱鬧敬扛,春花似錦、人聲如沸朝抖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽治宣。三九已至,卻和暖如春砌滞,著一層夾襖步出監(jiān)牢的瞬間侮邀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工贝润, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绊茧,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓打掘,卻偏偏與公主長(zhǎng)得像华畏,于是被迫代替她去往敵國(guó)和親鹏秋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容