vue,请求获取图片code,img中产生两次src获取资源问题

示例代码:

<template>
    <!-- 1、 -->
    <img :src="imgUrl + MainImg + '_0x0'" alt="款式主图" v-if="MainImg != ''">
<!-- 2、<table class="table-content" v-if="list.ActivityMemberList.length > 0"> -->
    <table class="table-content" v-if="ActivityMemberList.length > 0">
		<tr v-for="(infoItem, inforIndex) in ActivityMemberList" :key="inforIndex">
			<td>{{Number(inforIndex) + 1}}</td>
			<td>{{infoItem.CreateAccount}}</td>
			<td>{{infoItem.BuyQuantity}}</td>							
		</tr>
	</table>
</template>
<script>
    created () {
        this.getList ();
    },
    data () {
        return: {
            imgUrl: Site.api.upfileBaseUrl,
            list:{},
            MainImg: '',
            ActivityMemberList: [],
        }
    },
    watch () {
        list: {
            handler: function (val, oldVal) {
                this.MainImg = val.MainImg;
                this.ActivityMemberList = val.ActivityMemberList; 
            }
        }
    },
    methods: {
        getList () {
            //请求中获取的数据data(对象)
            this.list = data;
        }
    }
</script>

注意:

1、created获取初始化数据,请求返回需要时间,如果请求返回的数据直接绑定到src,dom加载完成后,src的值从undefined变为相应的code,造成获取两次src的问题?

解决: watch监听请求返回的数据,code赋值给src,并且在src为空的情况下不显示img。

2、html结构中list.ActivityMemberList是获取不到的,所以list.ActivityMemberList.length是报错的。

解决: 模板中绑定的结构中,v-if使用时,data中一定需要相对应。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值