搜索文档
mixin 混合
功能
可以把多个组件共用的配置提取成一个混入对象,他是一个单独 js 文件。
使用方法
第一步:定义混合
javascriptexport const mixin = { data(){}, methods: {} }第二步:使用混入
- 全局混入:在 main.js new Vue 实例之前,使用 Vue.mixin(xxx) 混入,这样对所有组件都生效。
- 局部混入:在组件配置项中新增一个 mixins 配置,值为数组类型。
案例
需求
- 创建 Student 组件,显示学生姓名和年龄。
- 创建 School 组件,显示学校名称和地址。
- 点击学生姓名,弹窗弹出姓名。
- 点击学校名称,弹窗弹出名称。
代码实现
Student.vue
Vue<template> <div> <h3 @click="showName">学生姓名:{{ name }}</h3> <h3>学生年龄:{{ age }}</h3> </div> </template> <script> import { mixin } from "../mixin"; export default { name: 'Student', data(){ return { name: 'iGma', age: 21 } }, mixins: [mixin] } </script>School.vue
Vue<template> <div> <h3 @click="showName">学校名称:{{ name }}</h3> <h3>学校地址:{{ address }}</h3> </div> </template> <script> import { mixin } from "../mixin"; export default { name: 'School', data(){ return { name: '内蒙古农业大学', address: '内蒙古呼和浩特' } }, mixins: [mixin] } </script>mixin.js
javascriptexport const mixin = { methods: { showName(){ alert(this.name); } }, }
