- 1、页面组件data、methods 的优先级高于mixin data、methods优先级
- 2、生命周期函数先执行mixin,再执行页面组件里的
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>test</title>
<script src="https://unpkg.com/vue@next"></script>
</head>
<body>
<div id="root">
<div>{{number}}</div>
<div>{{count}}</div>
<button @click="handleClick">按钮</button>
</div>
</body>
<script>
//1、页面组件data、methods 的优先级高于mixin data、methods优先级
//2、生命周期函数先执行mixin,再执行页面组件里的
const myMixin = {
data() {
return {
number: 2,
count: 567
}
},
created() {
console.log("myMixin created")
},
methods: {
handleClick() {
console.log("myMixin handleClick")
}
},
}
const app = Vue.createApp({
data() {
return {
number: 1
}
},
created() {
console.log("page created")
},
mixins: [myMixin], //使用mixin
methods: {
handleClick() {
console.log("handleClick")
}
},
});
const vm = app.mount('#root');
</script>
</html>