반응형

Frontend 7

[JavaScript] 객체 해체 할당(Object Destructuring Assignment)(feat. ES6)

ES6부터 지원하는 기능 중 하나인 객체 해체 할당 객체에서 바로 변수에 값을 한번에 할당할 때 사용(코드의 가독성 및 객체의 속성을 더 쉽게 추출) //객체의 구조가 복잡하거나 여러개의 속성을 한번에 추출할 때 유용하게 사용됨 const person = { name: '어흥', age: 50 }; //객체해체할당을 통해 객체의 속성값을 바로 변수에 할당 const { name, age } = person; //변수명 변경도 가능(아래는 person객체의 name값을 uname이라는 변수에 할당하는 예시) //const { name: uname } = person; console.log(name); // '어흥' console.log(age); // 50 //객체 해체 할당 미사용 const person..

IT/development 2023.10.04

[Vue.js] 기존 thymeleaf에 Vue.js 적용하는 방법

2가지 방법 존재 node.js 환경으로 구동(node.js 런타임 환경 필요, 서비스 구동 시 서버와 port 다르게 구성) 기존 thyemeleaf파일에 script만 추가(thyemelaf 렌더링 이후 조작하는 방식이라 node.js 불필요) 여기선 2번 째 방법 채택 기존 html의 body 태그안에 Vue.js 관련 script import(실제 배포 시엔 js파일 직접 import 권장) vue.js를 입힐 div root id 설정(예시) 주소록 사원명 검색 초기화 사원 목록 사원승인 신청 순번 사원명 직급 직책 전화번호 이메일 {{ item.no }} {{ item.empNm }} {{ item.positionCd }} {{ item.roleCd }} {{ item.empHp }} {{ i..

IT/development 2023.08.10

[Vue.js] 페이지네이션 처리

부모 컴포넌트 new Vue({ //element id el: '#main', //vue에서 관리할 데이터 data: { items: [], // 데이터 목록 currentPage: 1, //현재 페이지 firstPage: 0, //첫번 째 페이지 lastPage: 0, //마지막 페이지 startIdx: 0, //첫번 째 페이지 번호 endIdx: 0, //마지막 페이지 번호 empNm: '', //사원명 }, //data를 기반으로 변경할 속성(data의 변경 감지) computed: { //변경된 데이터 displayedItems() { return this.items; }, }, //vue 컴포넌트 화면에 렌더링 된 직후 실행(컴포넌트의 템플릿이 DOM에 추가/화면에 표시된 직후) mounted(..

IT/development 2023.08.09

[Vue.js] modal창 데이터 바인딩 안될 때

문제: modal 표시 시 ajax로 데이터는 가져오지만 바인딩이 되지 않음 환경: thyemelaf 파일에 vue.js를 적용(별도 node.js 환경 X) thymeleaf파일에 vue.js를 적용한 경우에 modal창에 아래처럼 바인딩이 안된 경우가 있었다. 원인은 간단했다. 기존 thyemelaf파일에서는 아래처럼 전체를 나타내는 div 영역 밖에 모달창 div가 있었음 기존에는 javascript/jQuery로 페이지 로드 후 DOM에 직접 접근해서 작업해서 문제가 안되었음 하지만 vue.js에서는 root element안에 모달영역이 포함되어 있어야 vue.js의 인스턴스와 연결되어 vue.js의 바인딩 기능 사용 가능(vue.js에서는 DOM에 직접 접근하는 일이 거의 없음) 위 코드처럼 m..

IT/development 2023.08.06

[Vue.js] 뷰 디렉티브(v-로 시작하는 속성들을 의미)

목차 v-bind(:콜론 바인딩으로 줄임 가능) {{ num }} 결과 v-if(조건문) 관리자 사용자 그 외 new Vue({ el: '#app', data: { auth: '관리자', } }) 결과 개발자 vue도구에서 data 변경 시 데이터도 변경됨 v-show(show, hide) 관리자 사용자 그 외 관리자 js코드는 위와 동일 결과 v-model(:콜론 바인딩으로 줄임 가능)(데이터 동기화) {{ userName }} new Vue({ el: '#app', data: { userName: '', } }) //아래처럼 javascript나 jQuery를 사용해서 dom에 접근해서 변경할 필요가 없음 //let userName = $("#userName").val(); //let userName..

IT/development 2023.07.27
반응형