js通过原型链可以实现继承那么我们可以对Vue.prototype进行操作,对Vue.prototype添加属性或者方法,所有通过new Vue创建的实例都可以继承这些属性或方法,例如我们在main.js 中添加如下代码
这里给原型定义一个属性
Vue.prototype.myName="哈哈"
在其他的组件中可以通过this.myName访问到这个属性,但是当我们去修改这个属性的时候会发现,原型身上的属性并没有改变
如:
this.myName = 'XIXI'
打印一下原型身上的myName会发现,还是哈哈,
这是因为,每个new出来的vue实例都会继承原型身上的属性,而继承过去的属性就是这个vue实例自己的了,他随意修改,都不会影响到原型身上的属性,(类似于子组件不能修改父组件的值,他们是一个道理)
那么我就是想在vue中使用全局变量,怎么办
可以直接在main.js中定义变量,然后在组件中通过this.$root来访问根实例,这样就可以做到全局变量了
网友评论