📘 Frontend/Vue2023. 7. 27. 18:40Vue - Event Binding 이해하기

Event Binding 이해하기 사용자의 입력 데이터에 따라 반응하는 방법과 Vue를 활용하고 더 활발한 상호작용 & 반응하는 웹 어플리케이션을 위해 Event를 이해해봅시다. Vue Events Events in Action Add Reduce Result: {{ counter }} const app = Vue.createApp({ data() { return { counter: 0, }; }, }); app.mount('#events'); 위 HTML 에서 Add/Reduce button 을 눌렀을때 바인딩된 counter에 1을 더하고, 뺀다고 해보죠. 순수 자바스크립트에서는 document.getElementById 로 버튼의 ID를 이용하거나, document.querySelec..

📘 Frontend/Vue2023. 7. 27. 14:57Vue - Methods & v-html Directive

Vue의 Methods 이해하기 저번에 배운 v-bind나 보간법을 이용해 {{ }} 사이에 데이터 바인딩을 했었습니다. 이때 {{ }} 사이에 데이터가 어떤 조건에 의해 무작위로 바뀌게 출력하도록 해보겠습니다. 이럴때 사용할 수 있는 Vue의 옵션중 하나가 Methods 입니다. Methods를 사용하면 사용자 이벤트가 발생하는 등의 일이 생겼을때 실행할 함수를 지정합니다. methods의 값으로는 Javascript 객체를 전달합니다. 이때, 기존의 data는 그 자체로 함수이자 메서드라면 methods는 메서드 및 함수로 만들어진 객체를 찾습니다. const app = Vue.createApp({ data: function() { return { courseGoal: 'Finish the c..

📘 Frontend/Vue2023. 7. 27. 14:13Vue - Interpolation & V-Bind

Vue를 이용한 DOM 상호작용 Vue를 HTML의 어느 부분에 적용할지를 정해서 해당 HTML 태그를 제어할 수 있습니다. Vue Course Goals My Course Goal 위 코드에서 Section 요소 전체를 Vue로 컨트롤 해보겠습니다. (Vue로 HTML 태그를 제어할 경우, 해당 요소의 하위 요소도 컨트롤이 가능합니다) const app = Vue.createApp(); app.mount('#user-goal'); 위 코드에서 Vue 앱을 변수에 선언해주고, 컨트롤 할 HTML 태그의 CSS 선택자인 id를 mount()의 인자로 넣어줍니다. mount() 안에는 문자열이 들어가며 CSS 선택자를 넣으면 해당 HTML 태그와 연결된다는 의미입니다. 보간법 (Interpol..

📘 Frontend/Vue2023. 7. 26. 18:43Vue - Basic

Vue.js Basic Vue는 완전한 컴포넌트 기반 UI 프레임워크이다. 모던 웹 어플리케이션을 구축할 때 필요한 핵싱 기능을 갖출 프레임워크이다. Vue의 대안 React와 비교해보면, React는 Routing등 Vue가 기본적으로 제공하는 기능들이 없고 커뮤니티 패키지에 상당히 의존적이며고 사실상 라이브러리이다. Vue는 프레임워크이자 왠만한게 다 내장되있다는 차이점이 있다. Vue를 적용하는 다양한 방식 화면상 반응형이 필요하지않은 곳엔 vue를 적용할 필요가 없고 필요한 곳에만 적용하는 방식 페이지 내 요소를 모든 요소를 렌더링하고 조정하는 방식 (SPA) 둘중 뭐가 더 나은 방식이라기보다 상황에 따라 맞게 사용하는게 좋다. Vue 간단하게 CDN으로 사용하기 Without JS startin..

📘 Frontend/Javascript2023. 7. 24. 11:48Javascript - Optional Chaining

Optional Chaining 옵셔널 체이닝(optional chaining) ?.을 사용하면 프로퍼티가 없는 중첩 객체를 에러 없이 안전하게 접근할 수 있습니다. Optional Chaning이 필요한 이유 이제 막 자바스크립트를 배우기 시작했다면 옵셔널 체이닝이 등장하게 된 배경 상황을 직접 겪어보지 않았을 겁니다. 몇 가지 사례를 재현하면서 왜 옵셔널 체이닝이 등장했는지 알아봅시다. 사용자가 여러 명 있는데 그중 몇 명은 주소 정보를 가지고 있지 않다고 가정해봅시다. 이럴 때 user.address.street를 사용해 주소 정보에 접근하면 에러가 발생할 수 있습니다. let user = {}; // 주소 정보가 없는 사용자 alert(user.address.street); // TypeError..

📘 Frontend/Javascript2023. 7. 24. 10:26Javascript - new 연산자 & 생성자 함수

new 연산자 && 생성자 함수 객체 리터럴 {...} 을 사용하면 객체를 쉽게 만들 수 있습니다. 그런데 개발을 하다 보면 유사한 객체를 여러 개 만들어야 할 때가 생기곤 합니다. 복수의 사용자, 메뉴 내 다양한 아이템을 객체로 표현하려고 하는 경우가 그렇죠. 'new' 연산자와 생성자 함수를 사용하면 유사한 객체 여러 개를 쉽게 만들 수 있습니다. 생성자 함수 생성자 함수(constructor function)와 일반 함수에 기술적인 차이는 없습니다. 다만 생성자 함수는 아래 두 관례를 따릅니다. 함수 이름의 첫 글자는 대문자로 시작합니다. 반드시 'new' 연산자를 붙여 실행합니다. function User(name) { // this = {}; (빈 객체가 암시적으로 ..

📘 Frontend/Javascript2023. 7. 24. 06:42Javascript - Function & This

Function & This 객체는 사용자(user), 주문(order) 등과 같이 실제 존재하는 개체(entity)를 표현하고자 할 때 생성됩니다. let user = { name: "Kim", age: 30 }; 사용자는 현실에서 장바구니에서 물건 선택하기, 로그인하기, 로그아웃하기 등의 행동을 합니다. 이와 마찬가지로 사용자를 나타내는 객체 user도 특정한 _행동_을 할 수 있습니다. 자바스크립트에선 객체의 프로퍼티에 함수를 할당해 객체에게 행동할 수 있는 능력을 부여해줍니다. 함수 생성 객체 user에게 인사할 수 있는 능력을 부여해 줍시다. let user = { name: "Kim", age: 30 }; user.sayHi = function() { alert("안녕하세요"); }; user..

image