1 回答

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊
發(fā)布以防其他人將來遇到此錯(cuò)誤。
Vue 只需要單文件組件標(biāo)簽中的一個(gè)根元素<template>。我已經(jīng)忘記了這一點(diǎn),在我的例子中,有兩個(gè)<div>元素,一次顯示一個(gè),有條件地使用 v-if:
<template>
<div v-if="fetchingData">
<h2>Loading data...</h2>
</div>
<div v-else>
<!-- The rest of the component -->
</div>
</template>
這導(dǎo)致了 Vue 的反應(yīng)性問題,每當(dāng)我嘗試更新組件的某些部分時(shí)就會(huì)拋出錯(cuò)誤。意識(shí)到自己的錯(cuò)誤后,我將所有內(nèi)容都包裹在 root 中<div>。這為我解決了這個(gè)問題:
<template>
<div id="fixedComponent">
<div v-if="fetchingData">
<h2>Loading data...</h2>
</div>
<div v-else>
<!-- The rest of the component -->
</div>
</div>
</template>
添加回答
舉報(bào)