Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 티스토리꾸미기
- CSS
- 폰트적용하기
- TSDoc
- 2022
- 공통컴포넌트
- 누구나 자료구조와 알고리즘
- React.js
- utilty type
- Chart.js
- vue.js
- 커스텀
- 제네릭
- typescript
- 타입스크립트
- NonNullable
- 개발콘텐츠
- React Native
- 레이아웃쪼개기
- 리액트
- javascript
- reactjs
- react
- 타입좁히기
- JS console
- const 단언문
- click and drag
- returnType
- 반복줄이기
- 성능최적화
Archives
- Today
- Total
몽땅뚝딱 개발자
[Vue.js] $attrs 본문
◽ $attrs
<input v-bind="$attrs" />
Vue 2의 $attrs은 부모가 class, style 속성을 제외하고 모든 속성들을 자식에게 넘겨주는 속성이다.
Vue 3의 $attrs은 class, style 속성을 포함하여 모든 속성들을 자식에게 넘겨준다. 또한 자식에서 부모에게 전달되는 이벤트를 모아놓은 $listeners가 사라지고 $attrs 안으로 이벤트가 존재한다.
◽ $attrs 예제
📄 부모 컴포넌트
<template>
<div class="inner">
<p class="test-title">attrs</p>
<c-hamburger
:visible="true"
class="hamburget-attrs"
menu1="메뉴1"
menu2="메뉴2"
:menu3="createMenu('메뉴3')"
></c-hamburger>
</div>
</template>
📄 자식 컴포넌트
<template>
<div v-show="visible" :visible.sync="visible">
<ul class="hamburger-list" v-bind="$attrs">
<li>
<!-- 이렇게 가져올 수 있다. -->
<span>{{ $attrs.menu1 }}</span>
</li>
<li>
<span>{{ $attrs.menu3 }}</span>
</li>
</ul>
</div>
</template>
◽ inheritAttrs: true/false
부모컴포넌트에서 오는 속성이 자식컴포넌트에 상속되는 것을 막는다.
export default {
inheritAttrs: false,
}
출처
'Development > Vue.js' 카테고리의 다른 글
[Vue.js] 컴포지션(Composition) - mixins (0) | 2022.01.17 |
---|---|
[Vue.js] v-model (0) | 2022.01.12 |
[Vue.js] computed vs watch 속성 (0) | 2022.01.10 |
[Vue.js] Vuex란? (0) | 2022.01.10 |
[Vue.js] 빌트인 컴포넌트 - transition (0) | 2022.01.10 |
Comments