vue根据数据判断显示

vue根据数据判断显示和隐藏。
tableData第一个没有数据,view怎么判断第一个为空时view不显示?
同样第三个iphone为空,那手机就不显示,应该怎么判断?


<template>
    <view>
        <view v-for="(item,index) in tableData" :key="item">
            <span>名称:{{item.name}}span>
            <span>手机:{{item.iphone}}span>
                        <image src="../../static/tab/my.png">image>
        view>
    view>
template>

<script>
    export default {
        data() {
            return {
                tableData:[
                    {},
                    {
                        name:"abc",
                        iphone : "12"
                    },
                    {
                        name:"abc",
                        iphone : ""
                    }
                ]
            }; 
        },
    };
script>

<style>
style>


<template>
    <view>
        <view v-for="(item,index) in tableData" :key="item">
             <view v-if="JSON.stringify(item) != '{}'">
              <span>名称:{{item.name}}</span>
              <span v-if="item.iphone">手机:{{item.iphone}}</span>
                        <image src="../../static/tab/my.png"></image>
            </view>
        </view>
    </view>
</template>
 
<script>
    export default {
        data() {
            return {
                tableData:[
                    {},
                    {
                        name:"abc",
                        iphone : "12"
                    },
                    {
                        name:"abc",
                        iphone : ""
                    }
                ]
            }; 
        },
    };
</script>
 
<style>
</style>

v-for和v-if不能用在同一个标签上,这样的话好像只能在给this.tabelData赋值前遍历数据把空值从数组删除再赋值给this.tableData

只能加 v-if 了 view 上加 v-if="item!="{}" 手机 span 加上 v-if="'item.phone!=''"


<view v-for="(item,index) in tableData.filter(item=>{
            return item.name
        })" :key="item">
            <span>名称:{{item.name}}</span>
            <span v-if="item.phone">手机:{{item.iphone}}</span>
            <image src="../../static/tab/my.png"></image>
        </view>

这样试试

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^