반응형
<label class="form-check-label" :class="{ todo: todo.completed }">
{{ todo.subject }}
</label>
style 바인딩 할당하는 방법이 여러 가지 있어요.
변수에 style 관련 내용을 먼저 선언하고 조건에 따라 변하도록 할 수 있어요. todoCompletedStyle 변수를 만들고 원하는 스타일을 넣습니다.
const todoCompletedStyle = {
textDecoration: 'line-through',
color: 'gray'
}
...
return {
todo,
todos,
errorMessage,
todoCompletedStyle,
onAdd
}
조건에 따라 todoCompletedStyle 적용되도록 합니다. todo.completed 값이 체크되는 경우에만 적용됩니다.
<label class="form-check-label" :style="todo.completed ? todoCompletedStyle : {}">
{{ todo.subject }}
</label>
다른 방법으로는 클래스 바인딩이 있습니다 객체를 넣을 때 key와 조건을 넣어 줄 수 있어요.
적용될 스타일을 정의합니다.
<style scoped>
.todo {
text-decoration: line-through;
color: gray;
}
</style>
:style 사용했던 것 대신 class 이용해서 조건에 따른 스타일을 적용합니다.
<label class="form-check-label" :class="{ todo: todo.completed }">
{{ todo.subject }}
</label>
:class에서 todo 부분이 스타일 이름이고 todo.completed 부분이 조건입니다.
반응형
'코딩 프로그래밍 > Javascript 자바스크립트' 카테고리의 다른 글
Vue 파일 분리할 때 필요한 emit (0) | 2023.04.04 |
---|---|
Vue 배열에서 특정 요소 삭제 (0) | 2023.04.04 |
Vue 배열 이용한 체크박스 바인딩 (0) | 2023.04.03 |
Vue v-show 적용 (0) | 2023.04.03 |
Vue 조건 v-show v-if (0) | 2023.04.03 |
댓글