내 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粉7242568602024-04-06 13:04:47
모니터링해야 할 여러 항목을 모니터링하기 위해 일련의 부울 플래그를 사용할 수 있습니다. 이들은 모두 초기값이 false인 별도의 배열로 초기화되며, 각 모니터는 서로 다른 인덱스를 true로 설정하는 역할을 담당합니다. 모든 모니터의 실행이 완료되면 모든 플래그가 true이며 이 배열을 관찰하면 모든 것이 초기화되었음을 알 수 있습니다.
으아악