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

Vue.use()的用法和install的用法解析

 更新時(shí)間:2022年03月29日 09:40:21   作者:清風(fēng)細(xì)雨_林木木  
這篇文章主要介紹了Vue.use()的用法和install的用法解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Vue.use()和install用法

介紹

在vue的main.js中,我們經(jīng)常使用Vue.use(xx)方法。比如我們引入elementUI,在main.js中,我們一般通過如下代碼引入:

import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUI)

為什么這樣做?

官方解釋

安裝 Vue.js 插件。如果插件是一個(gè)對(duì)象,必須提供 install 方法。如果插件是一個(gè)函數(shù),它會(huì)被作為 install 方法。

install 方法調(diào)用時(shí),會(huì)將 Vue 作為參數(shù)傳入。什么意思呢? Vue.use() 中的參數(shù)必須是一個(gè)function函數(shù)或者是一個(gè)Object對(duì)象,如果是對(duì)象的話,必須在對(duì)象中提供一個(gè)install方法。之后會(huì)將 Vue 作為參數(shù)傳入。

總結(jié):

如果Vue.use() 中的參數(shù)是一個(gè)function函數(shù),那么函數(shù)的參數(shù)是Vue對(duì)象。

如果Vue.use() 中的參數(shù)是一個(gè)Object對(duì)象,那么這個(gè)對(duì)象必須提供一個(gè)install方法,install方法的參數(shù)就是Vue。

Vue.use為什么要使用install

疑問

Vue.use注冊(cè)插件和Vue.prototype.xxx掛載方式有什么區(qū)別,使用Vue.use優(yōu)勢(shì)在哪,為什么使用Vue.use而不使用Vue.prototype.xxx

從源碼分析

// Vue源碼文件路徑:src/core/shared/util.js
export function toArray (list: any, start?: number): Array<any> {
  start = start || 0
  let i = list.length - start
  const ret: Array<any> = new Array(i)
  while (i--) {
    ret[i] = list[i + start]
  }
  return ret
}
// Vue源碼文件路徑:src/core/global-api/use.js
import { toArray } from '../util/index'
export function initUse (Vue: GlobalAPI) {
  Vue.use = function (plugin: Function | Object) {
    const installedPlugins = (this._installedPlugins || (this._installedPlugins = []))
    if (installedPlugins.indexOf(plugin) > -1) { // 如果該插件已被注冊(cè),則不再進(jìn)行注冊(cè)
      return this
    }
    // additional parameters
    const args = toArray(arguments, 1)
    args.unshift(this)
    if (typeof plugin.install === 'function') {
      plugin.install.apply(plugin, args)
    } else if (typeof plugin === 'function') {
      plugin.apply(null, args)
    }
    installedPlugins.push(plugin)
    return this
  }
}

vue官網(wǎng)是這樣說的

在這里插入圖片描述

install方法應(yīng)該就是解決防止插件多次注冊(cè)的情況吧;如果使用Vue.prototype.xxx掛載,每使用一次就要重新掛載一次。

個(gè)人理解,還請(qǐng)大佬指正解釋一下install的優(yōu)勢(shì)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

濮阳县| 中卫市| 新沂市| 柳林县| 九寨沟县| 恩施市| 清原| 津市市| 铅山县| 女性| 汤原县| 濮阳县| 铜梁县| 连南| 德惠市| 海口市| 黎平县| 马边| 麻阳| 潼关县| 元阳县| 镇宁| 红河县| 普宁市| 沅陵县| 灵璧县| 阿拉善左旗| 怀宁县| 肇源县| 岳普湖县| 绥芬河市| 吉林省| 桂阳县| 论坛| 涪陵区| 沿河| 浠水县| 永修县| 安福县| 盐山县| 安多县|