Vue에서는 데이터 변경이 자주 발생하지만, 뷰를 업데이트할 수 없기 때문에 몇 가지 상황을 요약했습니다:
1. v-for가 통과하는 배열에서, 배열 내용이 arr[0].xx =xx를 사용해 데이터를 변경할 때, vue는 이를 감지할 수 없습니다배열 데이터 변경: 배열을 조작하는 데 일부 방법을 사용하며, 데이터를 변경할 때 일부 방법은 Vue에서 모니터링할 수 없고, 다른 방법들은 모니터링할 수 있습니다
Vue는 여러 배열 연산 함수를 랩하며, 이러한 방법으로 조작된 배열은 데이터가 변경될 때 Vue가 모니터링합니다:
push() 팝() shift() unshift() 스플라이스() sort() 리버스() vue2.0은 또한 Vue.set(items, indexOfItem, newValue)을 관찰하는 메서드를 추가합니다. filter(), concat(), slice() 이 과정들은 원래 배열을 변경하지 않지만, 항상 새로운 배열을 반환합니다. 비돌연변이 방법을 사용할 때는 기존 배열을 새 배열로 교체할 수 있습니다
Vue는 다음 사항을 변경하는 배열을 감지할 수 없습니다:
(1) 인덱스로 항목을 직접 설정할 때, vm.items[indexOfItem] = newValue (2) 배열 길이를 수정할 때, 예를 들어 vm.items.length = newLength 더 이상 지체하지 않고, 코드를 업로드하고 렌더링을 첨부해 주세요:
위 두 가지 해결책은 Vue가 데이터 변화를 감지하지 못하는 배열에 대한 것입니다 코드에서 add() 메서드를 다음과 같이 변경하세요
목록 업데이트 노트:하이퍼링크 로그인이 보입니다.배열 업데이트 감지 반응형 원칙에 대한 심층 탐구:하이퍼링크 로그인이 보입니다.
|