mixins 은?
- Vuejs 의 공통 모듈 생성 및 적용 방법
- component 안 (in)에 import하여, 합쳐서 (mix) 사용
- 공통 변수 선언 및 메소드 정의 가능
- vuejs의 life cycle hook 활용 가능
샘플소스
- mixin file 생성 (/assets/js/card-common.js)
export default {
components: {},
data() {
return {
allSelectBoxTxt: '전체 (개인/가족/체크카드)',
};
},
mounted() {
},
method: {
isIndvCardHv(indvCardCnt) {
if (typeUtil.isNotUndefined(indvCardCnt) && indvCardCnt > 1) {
return true;
}
return false;
},
},
};
- mixin 적용 (/pages/*/*.vue)
- mixin import
- this 키워드를 통한 변수 및 메소드 호출
import cardCommon from '@/assets/js/card-common';
export default {
mixins: [cardCommon],
data() {
return {
cardSelectBoxTxt: '',
};
},
...
method: {
initCardSelectBoxFilter(cardInfObj) {
if (this.isIndvCardHv(cardInfObj?.indvCardCnt)) {
this.cardSelectBoxTxt = this.allSelectBoxTxt;
} else {
this.cardSelectBoxTxt = cardInfObj?.cardList[0]?.cardNm;
}
},
},
};
결론
- 2개 이상의 script에서 활용할 변수 및 메소드는 mixins을 활용하여 공통 모듈화하면 변경에 유연하게 대응할 수 있다.
ex) 카드선택필터 select box 텍스트 변경 or 전체조회 조건 추가
참고