Javascript 变量为空时的v-bind

Javascript 变量为空时的v-bind,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我使用Vue,我有一个变量。当变量有一个值时,我显示一个图像pic1 当变量没有值=空时,我显示另一个图像pic2 我的代码 <template v-for="(item, index) in items"> <img v-if="item.var" v-bind:src="'/images/pic1'"> <img v-else v-bind:src="'/images/pic2'"> <img v-if="item.var.length >

我使用Vue,我有一个变量。当变量有一个值时,我显示一个图像pic1

当变量没有值=空时,我显示另一个图像pic2

我的代码

<template v-for="(item, index) in items">
<img v-if="item.var" v-bind:src="'/images/pic1'">
<img v-else v-bind:src="'/images/pic2'">

<img v-if="item.var.length > 0" v-bind:src="'/images/pic1.jpg'">
<img v-if="item.var.length == 0" v-bind:src="'/images/pic2.jpg'">
</template>
我基本上尝试了两种独立的选择:

v-else不起作用,它只显示item.var的帖子,其他item.var为空的帖子被丢弃

使用.length-根本不起作用


如何使其工作?

什么是item.var?您确定您的文件路径正确吗?路径是否需要单引号和双引号?取下其中一对。图像也有一个文件类型,例如.jpg。如果修复这些问题没有帮助,请使用require绑定图像源,例如:

您确定向v-for传递的数据正确吗

检查item.var上的迭代项

v-for should look like 
v-for="(item, index) in items"
我刚刚与以下人员核实:

  data() {
return {
  item :  {
      var: [
        1,2,3
      ]
    }
  }
}
我看到了莫娜

 <img v-if="item.var" v-bind:src="'https://tineye.com/images/widgets/mona.jpg'">

您确实需要为图像元素设置关键帧。您的v-for也没有所需的in变量部分,这将导致编译错误。除此之外,我希望第一个选项能起作用,但在不知道item.var中的内容的情况下,我真的无法告诉您出了什么问题。你有没有试着记录你正在循环的变量,看看里面有什么?我想问题是你没有一个完整的v-for指令语句。应该是v-for=item,在items中索引或调用items数组的任何内容。否则,v-for组中的每个项都应该有一个key属性,但这不会导致初始渲染出现问题。下面是一个代码笔示例,它可能会帮助您找到正确的方向:尝试v-if=!item.var.length>0第二个选项嘿@Rju,显示您的项目列表它包含什么?