使用keep-alive的时候报错Maximum call stack size exceeded,说是堆栈溢出,一般可能是递归导致,但是我的代码中没有递归。
后来经过调查发现,我的组件名起成了跟keep-alive重名,导致组件自己调用自己,从而报错
<keep-alive>
<component v-bind:is="currentTabComponent" class="tab"></component>
</keep-alive>
export default {
//这里,name为KeepAlive,等同于keep-alive,所以上边的<keep-alive></keep-alive>变成了调用自
// 己,导致报错
name: 'KeepAlive',
data () {
return {
currentTab: "Posts",
tabs: ["Posts", "Archive"]
}
}
}