国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Vue中自定義全局組件的實現(xiàn)方法

2019-11-19 14:46:00
字體:
供稿:網(wǎng)友

前言

有時候我們在做開發(fā)的時候,就想自己寫一個插件然后就可以使用自己的插件,那種成就感很強。今天就解決了一個長期困擾著我的問題,現(xiàn)在記錄一下,供日后參考。

涉及知識點是Vue.js官網(wǎng)教程中的插件使用

方法如下:

首先我遇到的問題就是我自定義的組件如果需要在項目中其他組件中多次被調(diào)用,而我之前的解決方法就是簡單的,哪里需要在哪引用。這無疑增加了許多代碼重復。

而在使用Vue.js的一些UI框架的時候則注意到,只需要在項目的入口文件中import這個插件然后在接著Vue.use(‘插件名')。這樣就能在整個項目里面使用這個框架中的組件以及方法了。

查閱資料后發(fā)現(xiàn),自定義的組件需要提供一個install方法

import sideblockComponent from './sideBlock'const defaultComponentName = 'sidebar'const Sidebar = { install(Vue, options = {}) { const componentName = options.componentName || defaultComponentName //提供可選的組件名 Vue.component(componentName, sideblockComponent) }}export default Sidebar

像這樣 引入自己編寫好的組件,然后創(chuàng)建一個對象,并包含一個install方法,并使用Vue.component()方法注冊成Vue全局組件,最后export default導出這個對象。

到此最關(guān)鍵的步驟已經(jīng)做好,接下來是最最關(guān)鍵的步驟。

我們需要在項目的入口文件中引入剛剛做好的組件,并且通過Vue.use(引入的組件)來使用插件。

到此,一個全局Vue組件就弄好了。我們在提供install方法的同時也可以通過Vue.$emit()的方法來觸發(fā)組件中的方法,但最近在使用Element UI時發(fā)現(xiàn)他們組件中的方法一般都是通過Vue.$refs()來觸發(fā)的。具體原因留到日后再做研究。

vue $refs的基本用法

<div id="app"><input type="text" ref="input1"/><button @click="add">添加</button></div>
<script>new Vue({  el: "#app",  methods:{  add:function(){    this.$refs.input1.value ="22"; //this.$refs.input1 減少獲取dom節(jié)點的消耗    }  }})</script>

一般來講,獲取DOM元素,需document.querySelector(".input1")獲取這個dom節(jié)點,然后在獲取input1的值。

但是用ref綁定之后,我們就不需要在獲取dom節(jié)點了,直接在上面的input上綁定input1,然后$refs里面調(diào)用就行。

然后在javascript里面這樣調(diào)用:this.$refs.input1 這樣就可以減少獲取dom節(jié)點的消耗了

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網(wǎng)的支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 新民市| 巫山县| 锡林浩特市| 吴旗县| 全州县| 丹凤县| 玉树县| 永平县| 南安市| 庆云县| 建始县| 陆良县| 江津市| 项城市| 寿光市| 巨鹿县| 镶黄旗| 嘉禾县| 兴安县| 文昌市| 镇原县| 丹东市| 都兰县| 镇原县| 庐江县| 读书| 青海省| 五指山市| 宁乡县| 舒兰市| 志丹县| 冷水江市| 左权县| 新民市| 怀宁县| 信丰县| 侯马市| 高邑县| 瓦房店市| 蓬溪县| 繁峙县|