mixin 混入/混合

mixin 可以把多个组件公用的配置提取成一个混入对象。

示例:定义一个混合 mixin.js

  1. export const mixin = {
  2. methods: {
  3. sayHello() {
  4. alert(this.name)
  5. }
  6. }
  7. }

在组件中使用混合:

  1. <script>
  2. // 引入混合中的mixin
  3. import {mixin} from '../mixin'
  4. export default {
  5. name: 'School',
  6. data() {
  7. return {
  8. name: '庞各庄小学',
  9. address: '庞各庄'
  10. }
  11. },
  12. mixins: [mixin] // 此时该组件便有了mixin中定义的sayHello方法
  13. }
  14. </script>

组件中可以使用的配置项,在混合中都可以进行配置:

  1. export const mixin2 = {
  2. data() {
  3. return {
  4. msg: 'hello'
  5. }
  6. }
  7. }

也可以全局使用混合,在main.js中进行配置:

  1. import {mixin2} from './mixin'
  2. // 此时,所有的vm、vc都有了mixin2中定义的msg变量
  3. Vue.mixin(mixin2)