>웹 프론트엔드 >JS 튜토리얼 >Vue 페이지 DOM 작업이 적용되지 않는 문제 해결

Vue 페이지 DOM 작업이 적용되지 않는 문제 해결

亚连
亚连원래의
2018-05-29 16:57:513518검색

아래에서는 Vue 페이지의 DOM 작업이 적용되지 않는 문제를 해결하는 기사를 공유하겠습니다. 좋은 참고 가치가 있으며 모든 사람에게 도움이 되기를 바랍니다.

현상:

Element UI를 사용하여 트리 구조를 렌더링하고, 각 노드에 마우스가 이동할 때 표시되는 작업 버튼을 디자인합니다.

다음과 같습니다. 오류 부분입니다:

새 노드를 추가한 후 새 노드 근처로 이동합니다(그림에서는 레벨 2로 이동되었습니다). 기능 버튼의 표시 위치가 오프셋되었습니다

.

원인 검색:

디버깅 결과 노드를 추가한 후 해당 노드를 얻기 위해 DOM 연산을 수행하면 이전 구조가 계속 얻어지고 새로 추가된 노드는 얻지 못하는 것으로 나타났습니다.

원인 분석:

vue에서 사용하는 가상 DOM으로 인해 페이지가 렌더링되는 것으로 추측되는데, Vue 인스턴스의 가상 DOM에 있어서 얻을 수 없습니다.

해결책:

Vue.nextTick을 사용하고 공식 자료를 살펴보세요.

'다음 DOM 업데이트 주기가 끝난 후 지연된 콜백 실행', 이 문장은 특별히 이해하기 어렵지만 DOM 업데이트는 순환 프로세스이며 프로세스가 끝나기 전에는 실제 DOM 요소를 얻을 수 없다는 것을 알 수 있습니다(이 주기가 얼마나 오래 지속되는지는 아직 조사 중입니다). nextTick에 DOM 작업을 배치하면 업데이트된 DOM을 얻을 수 있습니다.

결과:

위 원칙에 따라 데이터 업데이트 후 nextTick에서 DOM 작업 함수가 호출되어 이상적인 효과를 얻습니다.

위 내용은 모두를 위해 정리한 내용입니다. 앞으로 모든 사람에게 도움이 되기를 바랍니다. Related Articles :

nodejs는 QR 코드를 생성하는 매우 간단한 방법을 구현합니다


nodejs+mongodb 집계 캐스케이드 쿼리 작동 예 vue1 및 vue2


에 기초하여 dom 요소를 가져 오기 위해 method.


위 내용은 Vue 페이지 DOM 작업이 적용되지 않는 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.