인프런 커뮤니티 질문&답변

eg2data님의 프로필 이미지

작성한 질문수

Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"

Non-Prop 속성 (fallthrough 속성)

inheritAttrs: false 명시 유무와 v-bind="$attrs" 사용 가능 여부의 관계

24.08.24 08:09 작성

·

34

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

안녕하세요,

강좌 17:39 전후로 해서

root element가 n개인 자식 component에서

특정 element에 $attrs를 v-bind 하지 안흐면

run time warning이 발생한다는 설명을 해주셨습니다.

 

그런데 이 상황에서 inheritAttrs: false를 선언하지 않아도

v-bind="$attrs"가 동작해서 run time warning이 사라졌습니다.

 

inheritAttrs:flase를 선언하여

구조상 상속을 비활성화해야만

v-bind="$attrs"를 설정할 수 있는게 맞지 않나요~?

이 과정에서 제가 잘못 이해한 부분이 있을까 싶어 짐코딩님께 여쭤봅니다.

답변 2

0

짐코딩님의 프로필 이미지
짐코딩
지식공유자

2024. 08. 25. 10:59

안녕하세요 질문을 정리하자면 🥲

질문) inheritAttrs:flase를 선언하여, 구조상 상속을 비활성화해야만 v-bind="$attrs"를 설정할 수 있는게 맞지 않나요~?

inheritAttrs:flase 로 해야 v-bind="$attrs" 을 할 수 있게 해야 하는게 맞지않냐 라고 물으신 다면

  • 첫 번째 답변 - 우선 Vue3 스펙이 그렇습니다.

  • 두 번째 답변 - 제 생각은 inheritAttrs:flase 해당 옵션과 v-bind="$attrs" 해당 스펙은 독립적으로 보고 있습니다.

0

인프런 AI 인턴님의 프로필 이미지

2024. 08. 24. 08:11

안녕하세요, 인프런 AI 인턴입니다.

eg2data님께서 질문하신 “inheritAttrs: false 명시 유무와 v-bind=\"$attrs\" 사용 가능 여부의 관계”에 대해선, Vue.js에서 컴포넌트간 속성을 상속 및 바인딩하는 방식과 관련된 규칙을 이해해야 합니다.

Vue에서 inheritAttrs: false를 설정하면, 부모 컴포넌트에서 자식 컴포넌트로 전달되는 속성(Attributes) 중 props로 정의되지 않은 속성들의 자동 바인딩을 비활성화할 수 있습니다. 이 설정을 사용하면, $attrs 객체를 활용하여 명시적으로 속성을 바인딩할 수 있는 기회를 갖게 되며, 이를 통해 루트 엘리먼트가 아닌 다른 엘리먼트에 이러한 속성들을 바인딩할 수 있습니다.

v-bind="$attrs"는 해당 컴포넌트에 전달된 모든 속성을 바인딩하는 Vue의 문법이며, inheritAttrs: false와 함께 사용하면 더 세밀하게 속성을 제어할 수 있습니다. 그러나 inheritAttrs: false 없이 v-bind="$attrs"를 사용했을 경우에도 $attrs에 포함된 속성들은 자식 컴포넌트의 루트 엘리먼트가 아닌 다른 엘리먼트에 바인딩될 수 있으며, 경고 메시지를 제거할 수도 있습니다. 중요한 점은, inheritAttrs: false 설정은 루트 엘리먼트에 자동으로 추가되는 속성들을 제어하기 위함이며, $attrs는 해당 속성들을 명시적으로 다른 엘리먼트에 바인딩하기 위해 사용됩니다.

다음은 관련된 질문에 대한 답변 링크입니다:

  • 먼저, Non-prop 속성 강좌의 요지가 무엇인가요?에서 비슷한 상황에서 inheritAttrs: false$attrs에 대한 사용 방법을 설명하고 있습니다. 이 설명은 inheritAttrs: false 사용 및 $attrs 활용에 대한 이해를 돕는데 유용할 것입니다.

이 답변이 eg2data님의 질문에 대한 이해를 돕는데 도움이 되기를 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

eg2data님의 프로필 이미지

작성한 질문수

질문하기