믹스인은 이름이 나타내고 있는 것 처럼 컴포넌트에 무언가를 섞어 원하는 것을 구현하는 기능입니다. 믹스인을 구현하고 동작시키는 과정을 순서대로 쓰면 아래와 같이 정리할 수 있습니다.
여기서 가장 중요한 '2. 컴포넌트에 객체를 믹스인하고' 과정에서는 아래와 같은 (그림에 시각화해둔) 원칙들이 적용됩니다.
// 가능하긴 하지만 권장되지 않음!
let mixin = {
...
Template: `<div> ...</div>`
data {
return {
styleObj: { 'width' : 100 }
}
}
}
// 즉, 아래와 같이 mixin.js와 component.vue에 같은 속성이 중복 선언된 경우에
// mixin.js
...
data {
return {
age: 20
}
}
...
// component.vue
...
data {
return {
age: 26
}
}
...
// 컴포넌트의 선언값이 살아남습니다.
// result
<div>{{ age }}</div>
// => <div>26</div>