最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue element-ui之怎么封裝一個(gè)自己的組件的詳解

 更新時(shí)間:2019年05月20日 14:23:25   作者:翼浪飛星  
這篇文章主要介紹了vue element-ui之怎么封裝一個(gè)自己的組件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

為什么要進(jìn)行組件封裝?

封裝的目的就是為了能夠更加便捷、快速的進(jìn)行業(yè)務(wù)功能的開(kāi)發(fā)。組件(component)是vue的最強(qiáng)大功能之一,組件可以實(shí)現(xiàn)一些類似功能的復(fù)用及與其它業(yè)務(wù)邏輯的解耦。在開(kāi)發(fā)中,我們難免會(huì)寫(xiě)很多類似的、重復(fù)的代碼,有時(shí)候兩個(gè)業(yè)務(wù)模塊有相似的功能,采用復(fù)制粘貼已經(jīng)很省事,但如果涉及的字段或有一些小差別,你也會(huì)覺(jué)得很煩,畢竟你要從頭到尾瞅著去改動(dòng)。這時(shí)候如果把那些相同的功能,抽象出來(lái)抽離成組件,通過(guò)組件引用方式就會(huì)顯得格外省事了。

Vue中怎么封裝一個(gè)自己的組件

想要封裝好一個(gè)組件,必須要熟練掌握的三個(gè)技能:1.父組件傳值到子組件(props) 2.子組件傳值到父組件($emit)3.插槽使用(slot)。對(duì)于一個(gè)獨(dú)立的組件,props是用來(lái)為組件內(nèi)部注入核心內(nèi)容;$emit用來(lái)使這個(gè)組件通過(guò)一些操作來(lái)融入其它組件中。

使用Vue做開(kāi)發(fā),想必你一定會(huì)使用vue-cli這個(gè)腳手架,同時(shí)想必你一定會(huì)使用element-ui這個(gè)大名鼎鼎的前端框架。本文就以vue-cli來(lái)介紹一下怎么封裝自己的組件。下面就以后續(xù)要介紹的一個(gè)封裝的組件為例,來(lái)為大家介紹:

1.首先,可以看到前端工程下有一個(gè)components目錄,在components下新建一個(gè)文件夾xx-button,再在xx-button下創(chuàng)建一個(gè)index.vue文件,如圖:

2.然后在index.vue中寫(xiě)自己的代碼。為了規(guī)范,注意代碼中的name命名XxButton,以后使用的組件就是XxButton:

<template>
 <el-button-group>
  <el-button v-for="(btn,index) in this.buttons" :key="index" :type="btn.type ? btn.type:'primary'"
   :icon="btn.icon" :size="btn.size?btn.size:'mini'" @click="btn.click">{{btn.label}}</el-button>
 </el-button-group>
</template>
 
<script>
export default {
 name: 'XxButton', // 注意這里的name命名,就是你以后封裝好后使用的組件名
 props: {
  buttons: {
   type: Array,
   required: true
  }
 }
}
</script>

3.然后在components下還有一個(gè)index.js文件,咱們要在index.js中注冊(cè)上自己定義的組件:

import XxButton from './xx-button'
 
Vue.component(XxButton.name, XxButton)

如圖所示:

注意:這個(gè)index.js也一定要在main.js中引入,不然就無(wú)法使用。當(dāng)然,你也可以直接在main.js中直接注冊(cè)組件,這里為了便于組件的統(tǒng)一管理,就在components下建了一個(gè)index.js來(lái)統(tǒng)一注冊(cè)組件。

4.最后,在頁(yè)面開(kāi)發(fā)中,就可以愉快的使用我們注冊(cè)的組件啦。

this.buttons的定義如下:

對(duì)element-ui組件進(jìn)一步封裝介紹

以上是對(duì)怎么封裝自己的組件做了一個(gè)簡(jiǎn)單的demo介紹,后續(xù)我將會(huì)對(duì)工作中經(jīng)常使用的組件進(jìn)行封裝介紹,主要針對(duì)element-ui做二次封裝,由淺入深,先介紹一些簡(jiǎn)單的比如:按鈕組件封裝、分頁(yè)組件封裝、詳情頁(yè)面封裝、Dialog對(duì)話框封裝,然后對(duì)Form表單封裝、簡(jiǎn)單表格封裝,最后結(jié)合前面封裝的組件再封裝一個(gè)功能齊全的組件。當(dāng)然在實(shí)際開(kāi)發(fā)中,并不是所有的業(yè)務(wù)功能完全與組件功能契合,這就需要組件具有更多的擴(kuò)展性,后續(xù)的內(nèi)容中也會(huì)對(duì)組件封裝過(guò)程中怎么提高擴(kuò)展性做介紹。

以上所述是小編給大家介紹的vue element-ui之怎么封裝一個(gè)自己的組件詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 使用vue實(shí)現(xiàn)猜謎卡片游戲

    使用vue實(shí)現(xiàn)猜謎卡片游戲

    這篇文章主要為大家詳細(xì)介紹了如何使用vue實(shí)現(xiàn)簡(jiǎn)單的猜謎卡片游戲,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以參考一下
    2023-09-09
  • vue中給路徑起別名的實(shí)現(xiàn)方法

    vue中給路徑起別名的實(shí)現(xiàn)方法

    本文主要介紹了vue中給路徑起別名的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue實(shí)現(xiàn)pdf導(dǎo)出解決生成canvas模糊等問(wèn)題(推薦)

    vue實(shí)現(xiàn)pdf導(dǎo)出解決生成canvas模糊等問(wèn)題(推薦)

    最近公司項(xiàng)目需要,利用vue實(shí)現(xiàn)pdf導(dǎo)出,從而保存到本地打印出來(lái),說(shuō)起來(lái)好像也很容易,具體要怎么實(shí)現(xiàn)呢?下面小編給大家?guī)?lái)了vue實(shí)現(xiàn)pdf導(dǎo)出解決生成canvas模糊等問(wèn)題,需要的朋友參考下吧
    2018-10-10
  • vue2 vue3中使用Echarts詳細(xì)

    vue2 vue3中使用Echarts詳細(xì)

    這篇文章主要給大家介紹的是vue2 vue3中使用Echarts的相關(guān)資料,下面文章 會(huì)詳細(xì)介紹該內(nèi)容,感興趣的小伙伴不要錯(cuò)過(guò)喲
    2021-09-09
  • vue3內(nèi)嵌iframe的傳參與接收參數(shù)代碼示例

    vue3內(nèi)嵌iframe的傳參與接收參數(shù)代碼示例

    這篇文章主要給大家介紹了關(guān)于vue3內(nèi)嵌iframe的傳參與接收參數(shù)的相關(guān)資料,Vue項(xiàng)目中使用iframe及傳值功能相信有不少人都遇到過(guò),需要的朋友可以參考下
    2023-07-07
  • 一文詳解Pinia和Vuex與兩個(gè)Vue狀態(tài)管理模式

    一文詳解Pinia和Vuex與兩個(gè)Vue狀態(tài)管理模式

    這篇文章主要介紹了一文詳解Pinia和Vuex與兩個(gè)Vue狀態(tài)管理模式,Pinia和Vuex一樣都是是vue的全局狀態(tài)管理器。其實(shí)Pinia就是Vuex5,只不過(guò)為了尊重原作者的貢獻(xiàn)就沿用了這個(gè)看起來(lái)很甜的名字Pinia
    2022-08-08
  • vue將對(duì)象新增的屬性添加到檢測(cè)序列的方法

    vue將對(duì)象新增的屬性添加到檢測(cè)序列的方法

    下面小編就為大家分享一篇vue將對(duì)象新增的屬性添加到檢測(cè)序列的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • vue在body和query中如何向后端傳參

    vue在body和query中如何向后端傳參

    這篇文章主要介紹了vue在body和query中如何向后端傳參,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue3(二)集成Ant Design Vue

    Vue3(二)集成Ant Design Vue

    上一篇文章我們介紹了利用Vue3 創(chuàng)建Vue CLI 項(xiàng)目(一),接下來(lái)就來(lái)看看Vue3集成Ant Design Vue 的相關(guān)資料,需要的小伙伴可以參考一下文章的具體內(nèi)容
    2021-10-10
  • vue中如何防止用戶頻繁點(diǎn)擊按鈕詳解

    vue中如何防止用戶頻繁點(diǎn)擊按鈕詳解

    在后臺(tái)使用過(guò)程中經(jīng)常會(huì)因?yàn)榘粹o重復(fù)點(diǎn)擊,而造成發(fā)送多次重復(fù)請(qǐng)求 以下方法可以避免這種情況,下面這篇文章主要給大家介紹了關(guān)于vue中如何防止用戶頻繁點(diǎn)擊按鈕的相關(guān)資料,需要的朋友可以參考下
    2022-09-09

最新評(píng)論

巨鹿县| 阿克苏市| 光山县| 枝江市| 天水市| 衡山县| 渝中区| 昌乐县| 城步| 梧州市| 泗水县| 宿松县| 阆中市| 河南省| 西城区| 永城市| 全南县| 大兴区| 通辽市| 新竹县| 霍邱县| 湘阴县| 扶沟县| 桃源县| 凤冈县| 华蓥市| 隆尧县| 图片| 安徽省| 南投市| 东辽县| 阳泉市| 商南县| 虹口区| 绥化市| 上思县| 屏山县| 天柱县| 洛宁县| 山东省| 汉源县|