Vue v-if 使用的问题

v-if报警告

不懂这个警告是什么意思,但是好像不影响运行

阅读 2.7k
3 个回答

waring提示的理由是 v-if 应该被移动到外层的element中。
所以这里可以这样改写

<template v-if="datas[index]">
    <table-cell v-for="n in 8" :key="n" :carDatas="datas[index][n-1]"></table-cell>
</template>

v-if 用来判断是否create Dom,所以table-cell 就可以直接在template层决定了dom是否生成,而不是在加载组件table-cell的同时判断v-if。

我是这样理解的

v-if 是将元素在dom树中删除 建议使用v-show 原理改变display为none 如果需要删除元素在使用v-if

你v-if的条件是status[index], 和当前v-for的内容n无关, 而和上层的v-forindex有关. 所以当status[index]不存在的时候会产生一个空的ul. 建议把v-if写到ul上去.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题