>  기사  >  웹 프론트엔드  >  Ajax는 일반적으로 어떤 라이프사이클에 위치합니까?

Ajax는 일반적으로 어떤 라이프사이클에 위치합니까?

青灯夜游
青灯夜游원래의
2022-01-19 16:52:016046검색

Vue의 Ajax 요청은 일반적으로 "생성된" 주기에 배치됩니다. 이점: 1. 서버 데이터를 더 빠르게 얻고 페이지 로딩 시간을 줄일 수 있습니다. 2. SSR은 beforeMount 및 마운트된 후크 기능을 지원하지 않으므로 일관성에 도움이 됩니다.

Ajax는 일반적으로 어떤 라이프사이클에 위치합니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, vue 버전 2.9.6, DELL G3 컴퓨터.

Vue lifecycle

  • beforeCreate(생성 전): 데이터 관찰 및 초기화 이벤트가 시작되기 전에는 데이터, 감시자 및 메서드가 아직 존재하지 않지만 $route가 이미 존재하고 라우팅될 수 있습니다. 정보가 리디렉션되는 경우 등에 따라

  • created(생성 후): 인스턴스가 생성된 후 호출됩니다. 이 단계에서는 watcher, 이벤트, 메서드를 사용하여 데이터에 액세스할 수 있습니다. 즉, 데이터 관찰자 및 이벤트/감시자 이벤트 구성이 완료되었습니다. 완전한. 그러나 돔은 아직 마운트되지 않았습니다. 이 단계에서는 http 요청 작업을 수행할 수 있습니다.

  • beforeMount(마운트 전): HTML을 구문 분석하여 AST 노드를 생성한 다음 AST 노드를 기반으로 렌더링 기능을 동적으로 생성합니다. 관련 렌더링 함수가 처음으로 호출됩니다(강조 추가).

  • mounted(마운트 후): 마운팅이 완료된 후 호출되며, render 함수를 실행하여 가상 dom을 생성하고, 가상 dom을 대체할 실제 dom을 생성하여 인스턴스에 마운트합니다. 이벤트 모니터링

  • beforeUpdate과 같은 DOM을 운영할 수 있습니다. vm.data가 업데이트된 후 가상 DOM이 다시 렌더링되기 전에 호출됩니다. 이 후크는 vm.data 업데이트를 수정한 후 가상 DOM이 다시 렌더링되기 전에 호출할 수 있습니다. 이 후크는 vm.data 업데이트를 수정한 후 가상 DOM이 다시 렌더링되기 전에 호출할 수 있습니다. 이 후크에서는 vm.data를 수정할 수 있으며 추가 버퍼링 및 렌더링 프로세스가 트리거되지 않습니다.

  • updated: 가상 DOM이 다시 렌더링된 후 호출됩니다. $vm.data가 다시 수정되면 beforeUpdate 및 업데이트가 다시 트리거되어 무한 루프에 들어갑니다.

  • beforeDestroy: 인스턴스가 삭제되기 전에 호출됩니다. 즉, 이 단계에서도 인스턴스를 계속 호출할 수 있습니다.

  • destroyed: 인스턴스가 파괴된 후 호출되고, 모든 이벤트 리스너가 제거되고, 하위 인스턴스도 파괴됩니다.

vue의 어떤 라이프사이클에 ajax가 배치되나요?

일반적으로 데이터 요청은 생성된 상태로 전송되고 마운트됩니다. 그러나 대부분의 경우 요청은 생성된 상태로 전송됩니다.

Created 사용 시나리오: 페이지가 처음으로 렌더링되는 경우 백엔드 데이터에서 가져옵니다. 현재 데이터가 vue 인스턴스에 마운트되었기 때문입니다.

Increated(백엔드에서 처음 선택한 데이터를 가져오려면 여기로 요청을 보내세요)(비동기 요청만 전송되고 백엔드가 응답한 후 렌더링이 수행됩니다) beforeMount, Mounted(마운트된 상태로 전송 요청은 다음과 같습니다) 두 번 렌더링됨) 이 세 가지 후크 함수에서 호출됩니다.

이 세 가지 Hook 함수에서 데이터가 생성되었기 때문에 서버에서 반환하는 데이터를 할당할 수 있습니다. 하지만 가장 일반적으로 사용되는 방법은 생성된 Hook 함수에서 비동기 요청을 호출하는 것입니다. 왜냐하면 생성된 Hook 함수에서 비동기 요청을 호출하기 때문입니다.

장점:

첫 번째 포인트: 서버 데이터를 더 빠르게 얻을 수 있고 페이지 로딩 시간을 줄일 수 있습니다. ;

두 번째 요점: ssr은 beforeMount 및 마운트된 후크 기능을 지원하지 않기 때문에 Created에 넣는 것이 일관성에 도움이 됩니다.

【관련 추천: vue.js tutorial

위 내용은 Ajax는 일반적으로 어떤 라이프사이클에 위치합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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