vue 는 created 갈고리 함수 에서 비동기 데 이 터 를 요청 합 니 다. mounted 갈고리 에서 가 져 올 수 없 습 니까?

2647 단어 vue자바 script
비동기 데이터 문제
  • 1. created, mounted 의 정의
  • 1.1 created
  • 1.2 mounted
  • 2. 문제 현상 및 해결 방법
  • 1. created, mounted 의 정의
    1.1 created
    created 에 대한 공식 정 의 를 첨부 합 니 다: [created]
    예제 생 성 완료 후 즉시 조정 되 었 습 니 다!
    이 단계 에서 인 스 턴 스 는 다음 과 같은 설정 을 완 료 했 습 니 다.
  • 데이터 관측 (data observer),
  • property 와 방법의 연산,
  • watch / event 이벤트 리 셋.
  • 그러나 마 운 트 단계 가 시작 되 지 않 았 습 니 다. $el property 는 아직 사용 할 수 없습니다.

  • 주의:
    이 라 이 프 사이클 에 data, methods, $el 이 존재 하지 않 습 니 다.
    1.2 mounted
    mounted 에 대한 공식 정 의 를 첨부 합 니 다: [mounted]
    인 스 턴 스 마 운 트 후 호출!
    이 때 엘 은 새로 만 든 vm.$el 으로 바 뀌 었 습 니 다.DOM 작업 을 포함 하여 모든 작업 을 할 수 있 습 니 다.
    주의: mounted .전체 보기 가 렌 더 링 될 때 까지 기다 리 고 싶다 면 mounted 내부 에서 vm. $nextTick 을 사용 할 수 있 습 니 다.
    mounted: function () {
    this.$nextTick(function () {
    	  // Code that will run only after the
    	 // entire view has been rendered
      })
    }
    

    2. 문제 현상 및 해결 방법
    vue 를 사용 할 때 초기 화 데 이 터 를 불 러 와 야 합 니 다.
    문제 설명: 1. created 수명 주기 내 에 비동기 데 이 터 를 요청 하고 얻 은 데 이 터 를 this. data 에 할당 합 니 다.2. 이때 mounted 수명 주기 에서 this. data 를 얻 으 면 얻 을 수 없습니다.
    문제 분석: 비동기 로 딩 하 는 데 시간 이 필요 하기 때문에 지연 시간 이 있 으 면 데 이 터 를 얻 을 수 있 지만 문 제 는 얼마나 지연 되 어야 할 지 모 르 는 것 이다. 게다가 이 방법 도 좋 지 않다.
    그럼 이 비동기 로 불 러 온 데 이 터 를 가 져 오 는 우아 한 방법 이 있 을까요?
    해결 방법: data 에서 데이터 정의
    data(){
    	dataList:''
    }
    

    watch 방법 을 사용 한 데이터 감청
    	watch:{
    		dataList(){
    			this.$nextTick(()=>{
    				//         created    dataList 
    			})
    		}
    	}
    

    이 쯤 되면 닥 친 문 제 는 해결 ~ ~

    좋은 웹페이지 즐겨찾기