其他分享
首页 > 其他分享> > iview报错[Vue warn]: Error in render: "TypeError: ctx.injections.tableRoot.$scopedSlots[ctx.props

iview报错[Vue warn]: Error in render: "TypeError: ctx.injections.tableRoot.$scopedSlots[ctx.props

作者:互联网

网上查到的都是同一个,说是因为columns定义了N个slot,但是html中没有使用N个,这个虽然也是原因之一,但是不是我这的原因,我最后发现我的问题原因是:

HTML模板中定义了两个<Table>,table1有slot,table2没有 ,分别包在两个不同的<template>中并通过v-if控件显示哪个,初始是显示table1, 但触发切换条件时,显示table2,但再切换回table1时就会报错,解决方法给两个<Table>加上 key属性,

本质原因,因为没有给table加key属性,导致vue复用了table组件(第一个),当切换到table2时,因为table2的columns并没有定义slot,所以没有报错,但是再切回第一个table1时,会导致报错。

参考: https://cn.vuejs.org/v2/guide/conditional.html#用-key-管理可复用的元素

标签:injections,table2,table1,slot,ctx,报错,key,table
来源: https://www.cnblogs.com/johnjackson/p/15268402.html