프론트엔드 개발 · 기초
Vue.js에서 `v-bind`와 `v-model` 디렉티브는 각각 어떤 용도로 사용되며, 둘의 주요 차이점은 무엇인지 설명해 주세요.
힌트 · `v-bind`는 단방향 바인딩으로 HTML 속성에 데이터를 연결하고, `v-model`은 양방향 바인딩으로 주로 폼 요소의 입력과 데이터를 동기화합니다.
단방향 바인딩양방향 바인딩속성 바인딩이벤트 리스너데이터 동기화
모범답안
v-bind와 v-model은 Vue.js에서 데이터를 HTML 요소와 연결하는 데 사용되는 디렉티브입니다.
v-bind는 주로 HTML 속성에 데이터를 바인딩하는 데 사용됩니다. 예를 들어, 이미지의 src 속성이나 버튼의 disabled 속성 등을 데이터 속성과 연결할 수 있습니다. 이는 단방향 바인딩으로, 데이터가 변경되면 속성 값이 업데이트되지만, 속성 값이 변경되어도 데이터는 변경되지 않습니다.
반면, v-model은 주로 폼 요소(input, textarea, select 등)와 데이터를 양방향으로 바인딩하는 데 사용됩니다. 사용자가 폼 요소에 값을 입력하면 데이터가 업데이트되고, 데이터가 변경되면 폼 요소의 값도 업데이트됩니다. v-model은 내부적으로 v-bind와 이벤트 리스너를 사용하여 양방향 데이터 바인딩을 구현합니다.
따라서 주요 차이점은 v-bind는 단방향 바인딩, v-model은 양방향 바인딩이라는 점입니다. v-bind는 속성 값을 데이터에 연결하는 데 사용되고, v-model은 폼 요소의 입력 값과 데이터를 동기화하는 데 사용됩니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 Vue.js / Nuxt 면접 질문
- Vue.js는 어떤 프레임워크이며, 프론트엔드 개발에서 어떤 장점을 제공하는지 설명해 주세요.
- Vue 애플리케이션의 가장 기본적인 단위인 Vue 인스턴스는 어떻게 생성하며, 주요 옵션(data, methods 등)은 무엇이 있는지 설명해 주세요.
- Vue.js에서 조건부 렌더링을 위해 사용되는 `v-if`와 `v-show` 디렉티브의 차이점을 설명하고, 각각 어떤 상황에 더 적합한지 예시를 들어 설명해 주세요.
- Vue.js에서 배열 데이터를 기반으로 여러 개의 요소를 반복적으로 렌더링할 때 `v-for` 디렉티브를 어떻게 사용하는지 설명해 주세요. 이때 `key` 속성의 중요성도 함께 언급해 주세요.
- Vue.js에서 사용자 인터랙션(클릭, 입력 등)을 처리하기 위해 `v-on` 디렉티브를 어떻게 사용하는지 설명해 주세요. 이벤트 수식어(event modifiers)의 역할도 함께 설명해 주세요.