Vue中Vue.prototype、Vue.component和Vue.use的区别
Vue.prototype
通过在vue原型上定义它们使其在每个 Vue 的实例中可用
在多个地方都需要使用但不想污染全局作用域的情况下,这样定义,在每个 Vue 实例中都可用。
$ 是在 Vue 所有实例中都可用的 property 的一个简单约定。这样做会避免和已被定义的数据、方法、计算属性产生冲突
常用于方法与变量
import pinyin from 'js-pinyin';
Vue.prototype.$pinyin = pinyin;
vue.component
注册全局组件
第一个参数是调用组件时写的组件名
第二个参数是引入组件时写的标签名称
常用于注册自定义组件
import JsTree from '@/components/JsTree';
Vue.component('JsTree', JsTree);
Vue.use
注册全局插件
会自动阻止多次注册相同插件,届时即使多次调用也只会注册一次该插件
插件应该暴露一个 install 方法。这个方法的第一个参数是 Vue 构造器,第二个参数是一个可选的选项对象
常用于注册第三方插件
import VueContextMenu from 'vue-contextmenu';
Vue.use(VueContextMenu);
import ElementUI from 'element-ui';
Vue.use(ElementUI);