전체 글
-
[css] 요소 높이가 가변인 경우 위아래 가운데정렬성장과정(dev)/Frontend(feat. Vue, Next.js) 2022. 2. 7. 09:11
.parent { position: relative; height: 100%; /* 적용 후에 먹지 않아서 뭐가 문제인가 봤더니 parent 요소 높이가 측정되지 않아 적용되지 않는 문제가 있었음 */}// 위아래 가운데에 요소를 넣을 때.child { position: absolute; top:50%; transform: translateY(-50%);}// 정가운데에 넣을 때.child2 { position: absolute; top:50%; transform: translateY(-50%) translateX(-50%); left:50%;} translateY, translateX에 대해 간단히 설명하자면부모 요소의 크기를 이용해 top, left로..
-
[vue] 이벤트 호출 시 default parameter에 추가 파라미터 보내기성장과정(dev)/Frontend(feat. Vue, Next.js) 2021. 11. 30. 14:58
vue dom에 이벤트가 걸려있을 때, Default 로 보내주는 parameter가 있다. 예를 들어 @input="testmethod" 이벤트를 넣어놓으면 methods에 정의되어있는 testmethod 함수에서 console로 이벤트를 찍어보면 testmethod( e ) { console.log(e) } e는 해당 input dom 에 들어온 텍스트로 찍힌다. 그런데 여기서 해당 텍스트 이외에 다른 파라미터를 추가로 받아오고싶은 경우가 있다. 그럴때는 이런식으로 정의 하면 default로 가져오는 파라미터에 추가로 내가 넣은 파리터까지 받아올 수 있다. methods : { autoNext( e, count ) { console.log( "param ::: ", e, count );// `para..
-
[javascript] server에 이미지 파일 전달하기 전에 용량 줄이기성장과정(dev)/Frontend(feat. Vue, Next.js) 2021. 11. 25. 17:45
단계별로 이미지를 찍어서 서버쪽으로 제출하는 프로그램을 작업하고 있는 중에 제출 이미지가 늘어나니 간헐적으로 서버에서 응답이 너무 늦게와 응답을 보냈음에도 불구하고 프론트에서 못받는 문제가 발생했다. aws lambda에서는 5mb로 파라미터 용량을 제한하기도 하고, 이런저런 문제를 생각했을 때 프론트쪽에서 api 호출 전에 이미지 사이즈를 줄여 보내는 것이 가장 좋은 방안 같았다. video 에서 캡처해온 이미지의 용량을 줄이는 방법과 file input 으로 가져온 이미지의 용량을 줄이는 방법을 기록할 예정이다. 보내는 파일 형식은 base64. canvas 를 이용해서 용량을 줄일 수 있다. 적용 후 400kb였던 파일이 72kb까지 용량이 줄었고 화질은 육안으로 큰 차이가 없었다. 1. video..
-
vue bootstrap table로 row 하위에 table 출력하기 (table in table)성장과정(dev)/Frontend(feat. Vue, Next.js) 2021. 10. 14. 18:04
vue bootstrap 의 b-table 을 이용하여 다음과 같이 table 안에 inner table 구조를 만들 수 있다. 방법은 row-details slot을 사용하면 된다. https://bootstrap-vue.org/docs/components/table BootstrapVue Quickly integrate Bootstrap v4 components with Vue.js bootstrap-vue.org 아래에 써놓은 옵션 이외에 필요한 기본옵션 관련해서는 BootstrapVue 공식사이트를 이용하면 된다. 옵션설명 * sticky-header : 스크롤로 테이블의 크기를 한정짓고 싶을 때 사용 ( 필자는 docs에서 해당옵션을 못보고 지나가 css로 삽질을 했음 ) * items : 나타..
-
[모바일웹] javascript mobile 가로모드, 세로모드 제어하기카테고리 없음 2021. 7. 13. 13:52
현재 사용자 프로세스가 세로모드로만 가능하도록 하는 모바일웹을 만들고 있다. 라이브러리는 vue를 사용중이다. * 최종 소스 (모든 브라우저, 기종에 전부 지원되는 버전) timeout을 넣은 이유는 회전이 되기 전에 이벤트가 실행되어 가로모드, 세로모드를 반대로 읽어오는 경우가 있었음 window.addEventListener( "orientationchange", function() { setTimeout( function() { vueObj.currentOrientation(); }, 200 ) } ) function currentOrientation () { this.$store.state.isVertical = ( window.innerHeight > window.innerWidth ); } -..
-
[클립보드] javascript text copy성장과정(dev)/Frontend(feat. Vue, Next.js) 2021. 3. 4. 10:59
처음에 span 태그에 있는 내용을 button 클릭 시 복사되도록 하려고 시도했는데 자꾸 실패했다. 실패한 코드 let obj = document.getElementById("kyb-link"); obj.select(); document.execCommand("copy"); obj.setSelectionRange( 0, 0 ); value를 넣을 수 있는 input text나 textarea로 해야한다고 한다. 그래서 요소 생성 후 삭제하는 방법으로 ! // 글을 쓸 수 있는 란을 만든다. var aux = document.createElement("input"); // 지정된 요소의 값을 할당 한다. aux.setAttribute("value", document.getElementById("kyb-l..