반응형
매우 단순한 vue.display 컴포넌트가 최대 콜스택 크기를 초과했습니다.
데이터 목록을 표시하는 매우 단순한 vue.js 컴포넌트가 있습니다(2개의 필드가 있는 2개의 객체).
컴포넌트 vue.code 코드:
<template>
<div>
<h1>Genre</h1>
<b-container>
<b-row>
<b-col v-for="data in genre" v-bind:key="data.id" v-bind:title="data.name">
<b-card title="fefefe"
tag="genre"
style="max-width: 20rem;"
class="mb-2">
</b-card>
</b-col>
</b-row>
</b-container>
</div>
</template>
<script>
export default
{
name: 'genre',
data: function ()
{
return {
genre: [
{id:1, name:'toto'},
{id:2, name:'tata'},
]
}
},
}
</script>
<style scoped>
</style>
그러나 이 컴포넌트를 표시했을 때 다음과 같은 오류가 발생합니다.
[Vue warn] :nextTick 오류: "RangeError: Maximum Call Stack size exceededed"
몇 가지 데이터를 처리할 때 왜 루프가 오류를 발생시키는지 이해할 수 없습니다.(mounted() 상에서) SQL 약속으로 데이터를 가져오는 다른 컴포넌트가 있어 이 에러는 발생하지 않습니다.또한 이 컴포넌트에 대한 추가 데이터는 있지만 콜 스택에러는 없습니다.이것은 나에게 매우 낯설다.
내가 잊은 게 뭐가 있어?
문제는 다음과 같습니다.
- 구성 요소를 정의했습니다.
genre
와 함께name: "genre"
- 그
tag="genre"
당신의 안에서b-card
를 사용하려고 합니다.genre
카드로서의 컴포넌트
그 결과 사용자는 자신의 컴포넌트를 재귀적으로 로드하게 됩니다.이 컴포넌트는 같은 루프를 거쳐 다시 로드됩니다.스택 사이즈가 최대가 될 때까지.
다음 샌드박스는 컴포넌트의 이름을 변경하면 Vue가 존재하지 않는다고 불평하는 것을 보여줍니다.genre
로드하려고 하는 요소.그렇지 않으면 콜 스택의 최대 에러가 발생합니다.
언급URL : https://stackoverflow.com/questions/54466638/very-simple-vue-js-component-generate-maximum-call-stack-size-exceeded
반응형
'programing' 카테고리의 다른 글
v-를 사용하여 개체 사용을 위한 선택 옵션 생성 (0) | 2022.07.12 |
---|---|
Java 8 lamda Void 인수 (0) | 2022.07.12 |
Tomcat 7에서 전쟁 파일을 배포하는 방법 (0) | 2022.07.12 |
Vuex 스토어가 이미 생성된 후 수동으로 Getter/mutation을 추가하는 방법 (0) | 2022.07.12 |
Vuejs 2는 이벤트 버스로부터 수신된 데이터를 사용하여 변수에 데이터를 할당합니다. (0) | 2022.07.12 |