面试了许多求职者,很多求职者只知其然,而不知所以然,写此文章为广大前端小伙伴指引迷津。纯干货!纯干货!纯干货!
目录
mixin
什么是mixin?
答:Vue中一个高阶组件。
mixin的作用?
答:解决vue组件逻辑复用的问题。
minxin的使用场景?
-
钩子函数会合并起来,都会执行。先执行mixins的钩子函数再执行组件的钩子函数。
-
data的同名数据,要分情况讨论
- 如果是基本类型,会用组件的同名数据覆盖mixin的数据。
- 但是如果是对象,会递归对比key,如果是同名key则会覆盖,如果不是同名的,则保留。
-
methods的方法也是一样,会用组件的方法覆盖mixin的同名方法。
-
总之同名的会覆盖,以组件的为优先。
mixin的弊端?
答:变量名不好找,不容易联想到是在mixin中定义的。
面试大白话
答:首先,mixin是Vue中一个高阶组件。其主要目的也是为了解决vue组件逻辑复用的问题。它的使用场景就是钩子函数会合并起来,都会执行。data的同名数据,基本类型,会用组件的同名数据覆盖mixin的数据,但是如果是对象,会递归对比key,如果是同名key则会覆盖,如果不是同名的,则保留。methods的方法也是一样,会用组件的方法覆盖mixin的同名方法。总之:同名的会覆盖,以组件的为优先。不过在实际项目中变量名不好找,不容易联想到是在mixin中定义的。