当前位置: 代码迷 >> 综合 >> Vue.use()与Vue.prototype的区别
  详细解决方案

Vue.use()与Vue.prototype的区别

热度:98   发布时间:2024-02-23 12:36:32.0

1.Vue.prototype直接挂在 Vue 方法的原型上,通过原型链继承的关系可以在任意一个组件里访问到实例

function myVue(title){this.title = title
}
myVue.prototype.myUse = '在原型上添加公共属性'
const A = new myVue('我是实例A')
const B = new myVue('我是实例B')
console.log(A.title, B.title, A.myVue, B.myVue, )
// 我是实例A 我是实例B 在原型上添加公共属性 在原型上添加公共属性

如在nuxt.js服务端渲染的vue项目中,引入的插件如果有window,在服务端就不能访问会出现报错,通过Vue.prototype的方法注册,就可以避免报错。

以下情况就要使用Vue.prototype了

  (1)不是为了vue写的插件(插件内要处理)不支持Vue.use()加载方式
  (2)非vue官方库不支持new Vue()方式

import { jsencrypt } from 'jsencrypt';
Vue.prototype.$jsencrypt = jsencrypt;

2.Vue.use的注册本质上就是执行install方法,每一个vue组件都是Vue的实例,所以组件内this可以拿到Vue.prototype上添加的属性和方法,如果使用Vue.use插件内必须要有install方法

  相关解决方案