-
공통로직 구현 시 vue mixin 사용하기성장과정(dev)/Frontend(feat. Vue, Next.js) 2022. 2. 9. 13:42
- vue 에서 공통로직을 사용할 때 나는 vue의 prototype에 funtion으로 정의하고는 했다. 하지만 이렇게 간단한 공통함수는 mixin으로 정의하는것이 편하겠다.
(예를들면 아래처럼...)
install( Vue ) { Vue.prototype.$isEmptyObject = function( obj ) { if( !obj || obj == null || JSON.stringify( obj ) == "{}" ) { return true; } return false; } },
- mixin 에서 store 을 사용하는 방법
mixin 에서 this 는 vue component 를 가리킨다.
mixin 에서 store을 사용하려면 그냥 컴포넌트 내에서 사용하는 것과 마찬가지로 this.$store 이런식으로 사용하면 된다.
- 전역으로 mixin 사용하기
* 사용경우 : 로그 저장 등의 공통로직
* 등록방법
import commonMixin from '@/services/mixins/commonMixin'; Vue.mixin( commonMixin );
- mixin, component 내에서 정의하는 methods, 우선순위는?
mixin 에서 사용하는 methods 와 component 에서 정의하는 내부 methods 에서 같은 이름의 함수가 있다면 오류가 날까 궁금해서 해보았다.
결과적으로 이름이 중복될 때 오류는 발생하지 않고, component 내에서 정의하는 methods 가 우선순위이다.
'성장과정(dev) > Frontend(feat. Vue, Next.js)' 카테고리의 다른 글
[Vue] 네비게이션 가드, url 접근 막기, router 설정 (0) 2022.04.28 vue에서 일부 컴포넌트만 강제 reload 하기 (0) 2022.02.24 [css] 요소 높이가 가변인 경우 위아래 가운데정렬 (0) 2022.02.07 [vue] 이벤트 호출 시 default parameter에 추가 파라미터 보내기 (0) 2021.11.30 [javascript] server에 이미지 파일 전달하기 전에 용량 줄이기 (0) 2021.11.25 - vue 에서 공통로직을 사용할 때 나는 vue의 prototype에 funtion으로 정의하고는 했다. 하지만 이렇게 간단한 공통함수는 mixin으로 정의하는것이 편하겠다.