반응형
슬롯 내에서 요소 개수 가져오기
다음 Vue 구성 요소를 고려하십시오.
<template>
<!-- Carousel -->
<div class="carousel-container">
<div ref="carousel" class="carousel">
<slot></slot>
</div>
</div>
</template>
<script>
export default {
data() {
return {
items: this.$refs.carousel.querySelector('*')
}
},
computed: {
count: function () {
return this.items.length;
}
},
created () {
console.log(this.count);
}
}
</script>
위 내용은 통하지 않고, 참고하려고 하기 때문이라고 생각한다.refs
데이터 개체에서
나는 그것을 얻으려고 노력하고 있다.count
DOM 요소의.carousel
원소의이것을 이루기 위해서는 어떻게 해야 할까?
갱신하다
몇 가지 더 연구해 본 결과 다음과 같이 성취할 수 있다는 것을 알게 되었다.
<script>
export default {
data() {
return {
items: []
}
},
computed: {
count: function () {
return this.items.length;
}
},
mounted () {
this.items = this.$refs.carousel.children;
console.log(this.count);
}
}
</script>
하지만, 나는 이것이 이것을 이루기 위한 최선의 방법이라고 확신하지 않는다.나는 '최고'가 주관적이라는 것은 감사하지만, 이것을 성취하기 위한 '더 나은' 방법에 대해 아는 사람이 있는가?
나는 태그에 있는 요소들을 세는 더 간단하고 간단한 방법이 다음과 같다고 생각한다.
<script>
export default {
data() {
return {
count: 0
}
},
mounted () {
this.count = this.$refs.carousel.children.length;
console.log(this.count);
}
}
</script>
우리는 아래를 이용하여 .carouzel 클래스안의 모든 요소들을 얻을 수 있다.
var matched = $(".carousel *");
var total elements = matched.length;
슬롯 개수만 필요한 경우 아래를 사용하십시오.
var matched = $(".carousel slot");
var total elements = matched.length;
참조URL: https://stackoverflow.com/questions/56493855/get-element-count-from-within-a-slot
반응형
'IT이야기' 카테고리의 다른 글
react-native init(0.57) '@babel/plugin-외부 도움말' 모듈을 찾을 수 없음 (0) | 2022.03.24 |
---|---|
Vue - 부트스트랩 테이블 사용자 지정 구성 요소의 데이터 업데이트 (0) | 2022.03.24 |
파괴 할당과 선택적 체인을 어떻게 결합할 수 있는가? (0) | 2022.03.24 |
vue 하위 구성 요소에서 RouteEnter가 작동하지 않음 (0) | 2022.03.24 |
Reducx 종속성은 변경되지 않았지만 후속 렌더링 후 useEffect run (0) | 2022.03.24 |