我们可以将mixins理解成自定义的一部分公共的方法和属性,然后可以混入到其他各个组建中使用。
//创建公共的js文件
export default {
methods:{
created(){
this.fun()
}
fun(){
console.log('mixins')
}
}
}
//在其他的组件中混入
//引入那个js文件
import mix from '../../..',
export default {
mixins:[mix],
...
}
此时就可以在这个组建中使用混入的fun()方法。
注意
mixins中有三点需要注意的。
1、方法和参数在各个组件之间不共享。
如果混入对象中有一个num:1的变量,在A组件中将其赋值为3,这时B组件中的值还是1。
2、如果methods,components等对象和组件有冲突。
选项会被合并,冲突的组件会覆盖混入对象的,如果组件和混入对象中都有方法fun,则在调用的时候只调用组件的。
3、如果是函数冲突时。
如果created,methods等就会仪器调用,会先执行混入对象的钩子函数(同一个钩子函数,先执行混入对象的)。