我發(fā)現(xiàn)了一個(gè)奇怪的行為,如果我添加document.addEventListener點(diǎn)擊onMount.我有 2 個(gè)組件:App 和 NestedApp里面有個(gè)按鈕,里面設(shè)置了isShow = true,嵌套組件顯示。在嵌套組件中有onMount運(yùn)行document.addEventListener('click')如果我點(diǎn)擊應(yīng)用程序中的按鈕,嵌套組件將被掛載,事件偵聽(tīng)器將立即附加到文檔,并且在組件掛載之前單擊的單擊將被處理。我猜這是因?yàn)?Svelte 一鍵完成。我試過(guò)了await tick(),但沒(méi)有幫助。我看到解決方案之一是 wrap document.addEventListenerto setTimeout。它有效,但我認(rèn)為這是一個(gè)錯(cuò)誤的決定。那么,它的行為是正常的還是一個(gè)錯(cuò)誤?這是一個(gè)例子:https : //svelte.dev/repl/c89c272ca6c245dabf8451ba950d10c0?version=3.6.8
onMount 和事件監(jiān)聽(tīng)器
幕布斯7119047
2021-08-20 17:10:13