본문 바로가기

study/Vue.js

vue - 이미지 확대(pinch-zoom)

웹앱 프로젝트를 진행 중 이미지 확대를 구현해야했고, 나중에도 손쉽게 하기위해 이곳에 기록한다.

 

1. 우선 의도하지 않은 확대를 막기 위해 index.html에 아래 소스를 추가 하였다.

<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no">

user-scalable=no를 설정하게 되면 사용자가 화면을 확대할 수 없게 된다.

 

 

2. 이미지 확대를 위해 vue-pinch-zoom 라이브러리를 활용하였다.

2.1) vue-pinch-zoom 설치

npm i vue-pinch-zoom

 

2.2) 사용할 vue 파일에 import

import PinchZoom from 'vue-pinch-zoom'

2.3) component에 추가

<script>
import PinchZoom from 'vue-pinch-zoom'

export default {
  components: {
    pinchZoom: PinchZoom
  }
}
</script>

2.4) pinch-zoom 태그 사용

pinch-zoom 태그를 사용할때는 img 태그를 덮어줘 사용하면 된다.

아래 소스에 disable-zoom-control="disable" 설정을 하지 않으면 사용성이 떨어져 이와같은 설정을 추가 하였다.

<pinch-zoom disable-zoom-control="disable">
  <v-img
    width="100%"
    :src="imgUrl"
  />
</pinch-zoom>

'study > Vue.js' 카테고리의 다른 글

vue - 카카오내비 연동  (0) 2022.10.25
vue - watch로 object 감시(모니터링)  (0) 2022.05.30
vue - 무한 스크롤  (0) 2022.04.15
vue - 새로고침시 vuex데이터 초기화 방지  (0) 2022.03.23
vue - style 태그 scoped  (0) 2022.03.13