欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue 自定義動態(tài)組件實例詳解

 更新時間:2018年03月28日 14:02:25   作者:掘進(jìn)502  
vue的ui組件庫很多種,但是這么多的組件庫也不能滿足我們的開發(fā)需求,所以需要我們根據(jù)自己需求自己寫一個插件,下文小編通過兩個栗子給大家介紹js自定義組件的方法,感興趣的朋友一起看看吧

現(xiàn)在基于vue的UI組件庫有很多,比如iview,element-ui等。但有時候這些組件庫滿足不了我們的開發(fā)需求,這時候我們就需要自己寫一個插件。

舉第一個栗子

用vue-cli搭建好項目目錄之后,在src/components下面新建一個文件夾放我們要寫的插件,如圖所示:

index.vue里寫我們的組件,代碼如下:

index.js里面寫index.vue的install方法,并用Vue.component注冊組件,代碼如下:

接下來我們要在默認(rèn)的main.js里將剛剛寫的index.js文件導(dǎo)入,并通過Vue.use來使用它,代碼如下:

大功告成,接下來在app.vue里直接使用就可以啦,可以看到頁面已經(jīng)顯示相應(yīng)的組件了,如圖:

這時候我們還可以自定義click事件,并通過參數(shù)的方式傳遞給我們的插件,插件可以通過props屬性獲取到該事件,如圖:

可以看到頁面已經(jīng)生效了:

Vue.component(id, [definition])用于注冊或獲取組件。

Vue.use(plugin)用于安裝 Vue.js 插件。如果插件是一個對象,必須提供 install 方法。如果插件是一個函數(shù),它會被作為 install 方法。install 方法調(diào)用時,會將 Vue 作為參數(shù)傳入。當(dāng) install 方法被同一個插件多次調(diào)用,插件將只會被安裝一次。

舉第二個栗子

我們再建一個文件夾,如圖:

我們要寫一個組件,能夠顯示外部傳進(jìn)來的內(nèi)容,并在3秒后自動消失,代碼如下:

接下來我們要在index.js里使用構(gòu)造器來創(chuàng)建它,如圖:

依舊在默認(rèn)的main.js里引用剛剛的js文件,并加入到Vue實例上,這樣我們就可以直接通過this.$seconddemo()來調(diào)用了,代碼如下:

import SecondDemo from './components/global/seconddemo/index'Vue.prototype.$seconddemo = SecondDemo

在app.vue里使用它,發(fā)現(xiàn)插件加載成功了,如圖:

Vue.extend(options)是 Vue 的構(gòu)造器,用于創(chuàng)建一個“子類”。

統(tǒng)一管理自定義組件

當(dāng)組件數(shù)量很多時,我們可以通過提供一個統(tǒng)一的出口文件來管理這些自定義組件,首先在global文件夾下新建一個index.js文件,代碼如圖:

index.js文件幫我們把所有自定義的組件都通過Vue.component注冊了,最后export一個包含install方法的對象給Vue.use()使用。

這時候我們不需要在main.js里逐個添加動態(tài)組件了,只需要導(dǎo)入統(tǒng)一的index.js文件,并用Vue.use它就ok了。

相關(guān)文章

  • 前端 Vue.js 和 MVVM 詳細(xì)介紹

    前端 Vue.js 和 MVVM 詳細(xì)介紹

    這篇文章主要介紹了前端 Vue.js 和 MVVM 詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • Vue加載組件、動態(tài)加載組件的幾種方式

    Vue加載組件、動態(tài)加載組件的幾種方式

    組件是Vue.js最強大的功能之一。組件可以擴(kuò)展HTML元素,封裝可重用的代碼。這篇文章通過實例代碼給大家介紹了Vue加載組件、動態(tài)加載組件的幾種方式,需要的朋友參考下吧
    2018-08-08
  • vue3實現(xiàn)頁面跳轉(zhuǎn)的示例代碼

    vue3實現(xiàn)頁面跳轉(zhuǎn)的示例代碼

    這篇文章給大家介紹了vue3如何實現(xiàn)頁面跳轉(zhuǎn),文中通過代碼示例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-02-02
  • ElementUI如何修改Dialog的標(biāo)題樣式

    ElementUI如何修改Dialog的標(biāo)題樣式

    這篇文章主要介紹了ElementUI如何修改Dialog的標(biāo)題樣式問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue利用插件實現(xiàn)打印功能的示例詳解

    Vue利用插件實現(xiàn)打印功能的示例詳解

    這篇文章主要為大家詳細(xì)介紹了Vue如何利用vue-print-nb插件實現(xiàn)打印功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)一下
    2023-03-03
  • Nginx配置Vue項目,無法按路徑跳轉(zhuǎn)及刷新404的解決方案

    Nginx配置Vue項目,無法按路徑跳轉(zhuǎn)及刷新404的解決方案

    這篇文章主要介紹了Nginx配置Vue項目,無法按路徑跳轉(zhuǎn)及刷新404的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • vue中使用百度腦圖kityminder-core二次開發(fā)的實現(xiàn)

    vue中使用百度腦圖kityminder-core二次開發(fā)的實現(xiàn)

    這篇文章主要介紹了vue中使用百度腦圖kityminder-core二次開發(fā)的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • vue npm install 安裝某個指定的版本操作

    vue npm install 安裝某個指定的版本操作

    這篇文章主要介紹了vue npm install 安裝某個指定的版本操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue-router中的hash和history兩種模式的區(qū)別

    vue-router中的hash和history兩種模式的區(qū)別

    大家都知道vue-router有兩種模式,hash模式和history模式,這里來談?wù)剉ue-router中的hash和history兩種模式的區(qū)別。感興趣的朋友一起看看吧
    2018-07-07
  • vue2 全局變量的設(shè)置方法

    vue2 全局變量的設(shè)置方法

    下面小編就為大家分享一篇vue2 全局變量的設(shè)置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03

最新評論