vue2的mixins
1. mixin的用处
主要用于多个组件内存在重复的JS业务逻辑(可以包括methods\mounted\watch等),将JS部分代码封装在一个js文件下对外暴露,需要使用的组件进行引用。当组件使用混入对象的时候,所有混入的对象的选项都将成为该组件本身的东西。
mixins中的方法和参数在各组件内不共享;mixins中的created要在组件内的created之前调用(mixin的钩子函数会比组件的钩子函数先被调用)。如果methods,components和directives中有同名的属性,则mixin中的将会被忽略。
mixins缺点:mixins的全局性导致如果mixins被修复,会造成全局污染,所以使用的时候要小心。
2. mixins和父子组件的区别
mixins引入的data和各钩子函数只会简单的合并到父组件中,形成一个扩充了的新的组件,两者之间除了合并不会进行通信
props
父子组件可以进行通信,方法不共享,子组件在父组件是单独的存在,依靠暴露的变量进行通信。