찾다

 >  Q&A  >  본문

Vue 구성 요소가 완전히 초기화되었는지 어떻게 알 수 있나요?

내 Vue 구성 요소에는 비동기created方法和几个带有异步watcher的变量。这些变量被一些组件template部分中的元素用作v-model가 있습니다. 감시자는 이러한 변수의 값을 변경하기 위해 다른 메서드를 호출합니다.

이 프로세스는 모든 데이터가 초기화되고 변수가 변경되지 않을 때까지 잠시(수백 밀리초) 동안 계속됩니다. 이제 모든 변수에 초기값이 정의되어 있을 때 실행해야 하는 코드가 있습니다. 하지만 문제는 구성 요소의 모든 코드가 실행되었는지 어떻게 알 수 있느냐는 것입니다.

물론 created方法的末尾运行我的代码,但是由于template部分中的一些元素正在更新它们用作v-model的变量,这些watcher独立于created方法运行,而created方法在watcher之前完成得多。甚至mounted方法在watcher之前退出。因此,我不能只是把代码放在created방법이 끝나면 그렇게 할 수 있습니다.

제 질문은 구성 요소 초기화가 끝난 후 일부 코드를 어떻게 실행할 수 있느냐는 것입니다. 따라서 created方法之后,以及在所有与变量值更改相关的watcher完成之后?我只是说关于watcher的初始运行,这是由v-model的初始化引起的,这是由script部分中元素的初始化引起的,而不是组件生命周期中稍后的watcher执行。所以,我需要在script部分的元素完成初始化和与它们的v-model 변수와 연관된 감시자가 실행된 후에 실행하십시오.

어떻게 하나요?

P粉909476457P粉909476457226일 전1538

모든 응답(1)나는 대답할 것이다

  • P粉724256860

    P粉7242568602024-04-06 13:04:47

    모니터링해야 할 여러 항목을 모니터링하기 위해 일련의 부울 플래그를 사용할 수 있습니다. 이들은 모두 초기값이 false인 별도의 배열로 초기화되며, 각 모니터는 서로 다른 인덱스를 true로 설정하는 역할을 담당합니다. 모든 모니터의 실행이 완료되면 모든 플래그가 true이며 이 배열을 관찰하면 모든 것이 초기화되었음을 알 수 있습니다.

    으아악

    Vue 플레이그라운드 예시

    회신하다
    0
  • 취소회신하다