데이터 바인딩은 엘리먼트의 class 목록과 인라인 스타일을 변경하기 위해 일반적으로 사용한다
HTML 클래스 바인딩하기
|
클래스를 동적으로 변경하기 위해 v-bind를 사용합니다.
위의 구문은 active 클래스가 isActive의 값에 따라 적용될지 안될지를 판단합니다.
v-bind:class 디렉티브는 일반 클래스class 속성과 사용이 가능합니다.
<div class="static"v-bind:class="{ active: isActive, 'text-danger': hasError }"></div>
다음과 같이 사용한다.
|
그러면 div의 클래스는 "static active"가 되는거죠.
바인딩된 객체가 인라인일 필요는 없다.
|
|
계산된 속성도 사용이 가능하다.
|
배열 구문
|
|
이렇게도 사용이 가능하다.
<div v-bind:class="[isActive ? activeClass : '', errorClass]">
표현식이라 삼향연산자도 사용이 가능하다.
|
배열 구문 내에서 객체도 사용이 가능하다.
컴포넌트와 함께 사용하는 방법
|
컴포넌트에 class를 추가할경우 root엘리먼트에 클래스가 추가된다.
|
렌더링된 결과
|
클래스 바인딩도 동일하다.
인라인 스타일 바인딩
v-bind:style의 속성은 매우 직관적이다.
css처럼 보일 수 있지만 js 객체다.
camelCase와 kebab-case를 사용해야 됩니다.
|
|
|
|
스타일 객체에 직접 바인딩해서 사용하는것이 더 편하다.
배열 구문
|
배열 구문이 사용 가능하다.
자동 접두사
벤더 접두어가 필요하면 자동으로 Vue에서 붙여줍니다.
다중 값 제공
2.3.0+
2.3버전 부터 스타일 속성에 접두사가 있는 여러 값을 배열로 전달할 수 있습니다. 예제입니다.
|
'이전 글 > 2017-10-13 이전 글' 카테고리의 다른 글
entity(개체)란? (0) | 2017.07.04 |
---|---|
바인딩이란? (0) | 2017.07.04 |
모듈과 전역 객체 사용 (0) | 2017.07.02 |
2017-07-02 작업 (0) | 2017.07.02 |
2017-07-02 스터디 내용 (0) | 2017.07.02 |