Vue mixin 混入
功能:可以把多个组件功能的配置提取成一个混入对象,复用配置
定义混合:
{
methods: {...},
data() {...}
}
使用混合:
- 全局混合:
Vue.mixin(xxx)
- 局部混合:
mixins:['xxx']
实例
src 文件结构
|-- src
|-- App.vue
|-- main.js
|-- mixin.js
|-- components
|-- School.vue
|-- Student.vue
App.vue
<template>
<div id="app">
<School/>
<Student/>
</div>
</template>
<script>
import School from "@/components/School";
import Student from "@/components/Student";
export default {
name: 'App',
components: {
School,
Student
},
data() {
return {}
}
}
</script>
mixin.js
export const mixin1 = {
methods: {
showName() {
alert(this.name)
}
},
mounted() {
console.log('你好')
}
}
export const mixin2 = {
data() {
return {
a: 1,
b: 2
}
}
}
School.vue
<template>
<div class="school">
<h2 @click="showName">学校名称:{{name}}</h2>
<h2>学校地址:{{address}}</h2>
<hr>
</div>
</template>
<script>
// 引入一个混合
import {mixin1} from "@/mixin";
export default {
name: 'School',
data() {
return {
name: 'ABC',
address: '长沙',
x: 100
}
},
mixins: [mixin1]
}
</script>
Student.vue
<template>
<div class="school">
<h2 @click="showName">姓名:{{name}}</h2>
<h2>性别:{{sex}}</h2>
<hr>
</div>
</template>
<script>
import {mixin1} from "@/mixin";
export default {
name: 'Student',
data() {
return {
name: '张三',
sex: '男'
}
},
mixins: [mixin1]
}
</script>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本