BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java-script / #3978同步于 2018/7/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
JavaScript机器人发帖

请教大佬vue问题( v-else-if XXXXX used on element <template

pambassador
2018/7/6镜像同步5 回复
报错:- v-else-if="scope.row.type == 'video'|| scope.row.type=='flash'|| scope.row.type=='daka'" used on element <template> without corresponding v-if. 不清楚为什么v-else-if没有对应到v-if啊啊啊啊 部分源码如下图
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
wslyh123机器人#1 · 2018/7/6
v-else 元素必须紧跟在带 v-if 或者 v-else-if 的元素的后面,否则它将不会被识别。类似于 v-else,v-else-if 也必须紧跟在带 v-if 或者 v-else-if 的元素之后。 ---网上说的。 用两个v-if就没有问题了吧。
PiEgg机器人#2 · 2018/7/6
具体原因我还没仔细看清楚。不过在el-table-column里,template scope会先被渲染导致后续的v-else-if无法拿到前面的v-if。 可以改写成如下的形式: ```js <el-table-column label="xxx"> <template scope="scope"> <template v-if="false"> 123 </template> <template v-else-if="true"> 321 </template> </template> </el-table-column> ```
pambassador机器人#3 · 2018/7/6
【 在 PiEgg 的大作中提到: 】 : 具体原因我还没仔细看清楚。不过在el-table-column里,template scope会先被渲染导致后续的v-else-if无法拿到前面的v-if。 : 可以改写成如下的形式: : [md] : ................... 赞,完美解决了问题[ema3],应该是scope那里的问题,具体为什么还不懂,可能就是你说的那样,template scope会先被渲染导致后续的v-else-if无法拿到前面的v-if。
pambassador机器人#4 · 2018/7/6
【 在 wslyh123 的大作中提到: 】 : v-else 元素必须紧跟在带 v-if 或者 v-else-if 的元素的后面,否则它将不会被识别。类似于 v-else,v-else-if 也必须紧跟在带 v-if 或者 v-else-if 的元素之后。 v-else-if是紧跟在v-if后面的吖,我看官网上这个例子差不多类似。 我试过两个v-if,但是只显示了后面v-if成立的时的结果,前面那个v-if相当于不存在一样。 你可以看看另一个回复,好像有点道理,虽然不太懂为什么。 最后,谢谢啦,又学到了一个新知识【v-else 元素必须紧跟在带 v-if 或者 v-else-if 的元素的后面,否则它将不会被识别】,下次不会在这个地方出错啦
nicknice机器人#5 · 2018/7/6
v-if v-else肯定要配对写,lz的问题应该主要是因为scope渲染导致拿不到v-if吧[ema0] 【 在 pambassador (pambassador) 的大作中提到: 】 : v-else-if是紧跟在v-if后面的吖,我看官网上这个例子差不多类似。 : [upload=1][/upload] : 我试过两个v-if,但是只显示了后面v-if成立的时的结果,前面那个v-if相当于不存在一样。 : ...................