2020-06-11 组件注册相关——Vue.component()和Vue.use()

252 阅读1分钟

先回顾一下组件注册

1.全局注册

import Nav from '@/components/Nav.vue';

Vue.component('Nav', Nav);

全局注册一般在 main.js 里进行,注册之后可以用在所有组件里

2.局部注册

全局注册往往是不够理想的。比如,如果你使用一个像 webpack 这样的构建系统,全局注册所有的组件意味着即便你已经不再使用一个组件了,它仍然会被包含在你最终的构建结果中。这造成了用户下载的 JavaScript 的无谓的增加。

import ComponentA from '@/components/ComponentA.vue'

export default {
  components: {
    ComponentA
  },
}

Vue.use()和Vue.component():

1.Vue.use(plugin): plugin格式为{install: function () {}},并会运行install方法,用Vue.use进行组件注册时候,会首先判断组件的installed属性是否为true,为true说明此组件已经注册过,如果没有注册的话,在use注册的同时,会给组件添加一个属性installed:true。

在install方法内部可以添加全局方法或者属性、全局指令、mixin混入、添加实例方法、使用 Vue.component()注册组件等。

2.Vue.component()

单纯的注册组件


参考:Vue.js 组件注册

SF Vue.use和Vue.component,注册全局组件时的差异

若茶先森 Vue.use()和Vue.component()理解