반응형
Array.protype.reverse()를 사용하여 Vuejs v-for 무한 업데이트 루프 실행
나는 어떤 방법으로도 해결할 수 없는 오류를 가지고 있다
[Vue warn] :구성요소 렌더링 함수에 무한 업데이트 루프가 있을 수 있습니다.에서 발견되다.
컴포넌트 사용 중
<div v-for="item in items">
{{item.title}}
<div>
.................
<div v-for="item in items.reverse()">
{{item.title}}
<div>
export default {
name: "component-name"
data(){
return {
items: []
}
}
}
....
Array.prototype.reverse
는 실제로 적용되는 어레이를 변경합니다.
Vue는 이 변경 사항을 선택하여 둘 다 트리거합니다.v-for
(다른 사람을) 자극하다.reverse()
이로 인해 Vue는 재렌더화되며, 이로 인해.reverse()
등 등 등 등 등 등 등
이 문제를 해결하려면computed
얕은 복사물items[]
(예: 사용)Array
파괴하다[...this.items]
반전 리스트의 경우:
new Vue({
el: '#app',
data() {
return {
items: [1, 2, 3, 4]
}
},
computed: {
itemsReverse() {
return [...this.items].reverse()
}
}
})
<script src="https://unpkg.com/vue"></script>
<div id="app">
<ul v-for="item in items">
<li>{{item}}</li>
</ul>
<hr />
<ul v-for="item in itemsReverse">
<li>{{item}}</li>
</ul>
</div>
언급URL : https://stackoverflow.com/questions/49467217/vuejs-v-for-infinite-update-loop-using-array-prototype-reverse
반응형
'it-source' 카테고리의 다른 글
클릭 시 HTML 텍스트 입력의 모든 텍스트 선택 (0) | 2023.01.13 |
---|---|
왜 2020년 3월 30일과 3월 1일의 차이가 29일이 아닌 28일을 잘못 제공하는가? (0) | 2023.01.13 |
외부 키 Larabel 오류가 있는 열 삭제: 일반 오류: 1025 이름 변경 시 오류 (0) | 2023.01.03 |
'P'는 DateInterval 형식으로 무엇을 의미합니까? (0) | 2023.01.03 |
manjaro에서 mariaDB를 시작할 수 없습니다. (0) | 2023.01.03 |