아아아아
조금 미칠 것 같아요. 관찰자는 "driver" 소품만 관찰하면 안 되나요? "standsData"를 편집하면 정렬할 수 없는 방식으로 트리거됩니다. 내가 뭐 놓친 거 없니?
P粉6628028822024-03-27 00:58:01
배열을 어떻게 정렬했는지에 따라 다를 수 있지만 this.standsData = this.drivers
,因此对 this.standsData
的任何变异更改也会变异 this.drivers
아래에 데이터를 할당했기 때문에 동일한 배열을 참조합니다. 드라이버 배열을 복사하여 다음과 같이 구성 요소 상태에 넣을 수 있습니다.
데이터를 this.standsData
中深度修改其他数据也会出现类似的问题,因为您在观察器上指定 deep: true
;如果您必须这样做,则在将 this.drivers
移动到 this.standsData
깊이 복사해야 하는 경우를 기억하세요. 이는 lodash.cloneDeep과 같은 사용자 정의 코드나 도구를 사용하여 수행할 수 있습니다.
여기서 또 다른 특이한 점은 기본적으로 Vue 관찰자는 구성 요소 초기화 시 실행되지 않는다는 것입니다. 감시자에 추가하려면 drivers
属性在组件初始化期间初始设置时发生变化时触发它,则需要将 immediate: true
(문서 여기).