提到vue全局方法mixin,可能我们比较陌生,因为在平时的开发中也不建议我们去使用他。但是我们还是有必要了解一下其实现的原理。
Vue.mixin( mixin )
参数:
{Object} mixin
作用:
全局注册一个混入,影响注册之后所有创建的每个 Vue 实例。插件作者可以使用混入,向组件注入自定义的行为。不推荐在应用代码中使用。
原理:src/core/global-api/mixin.js
Vue.mixin = function (mixin: Object) {
this.options = mergeOptions(this.options, mixin)
return this
}
oh,my god,代码的实现如此简单,我们可以看到实现的原理就是将传入mixin和vue实例的options合并,然后返回vue实例。那么为什么要这么做呢?这个API是用来向全局注册一个混入,即可以修改Vue.options
属性,并且会影响之后的所有Vue
实例,这个API虽然在日常的业务开发中几乎用不到,但是在编写Vue
插件时用处非常大。因为可以修改Vue.options属性,所以大家还是慎用。