typescript - uniapp项目vue3 ts编译报错,绑定元素“item”隐式具有“any”类型,怎么处理?

 

问题描述:

编译时报错不明白问题出在哪里
绑定元素“item”隐式具有“any”类型

<template>
    <view class="content">
        <swiper
            v-if="swiperList"
            :indicator-dots="true"
            :autoplay="true"
            :interval="3000"
            :duration="1000"
            :circular="true">
            <swiper-item
                v-for="item in swiperList"
                :key="item.goods_id">
                <image
                    mode="aspectFill"
                    :src="{{item.image_src}}"></image>
            </swiper-item>
        </swiper>
    </view>
</template>

<script setup lang="ts">
import { onLoad } from "@dcloudio/uni-app";
import { ref } from "vue";
const swiperList = ref([{ image_src: "", goods_id: "1" }]);
onLoad(async () => {
    const res = await uni.request({ url: "https://www.uinav.com/api/public/v1/home/swiperdata" });
    swiperList.value = res.data.message;
    console.log(swiperList.value);
});
</script>

<style>
</style>

源码地址
https://gitee.com/sachin-ye/u...

是因为之前小程序用:src="{{item.image_src}}"
现在是vue应该直接:src="item.image_src"


 

第 1 个答案:

因为之前学小程序所以写的是 :src="{{item.image_src}}"
uniapp 用的是 vue 所以应该修改为 :src="item.image_src"


 

第 2 个答案:

const swiperList = ref<这里标注一下类型>([{ image_src: "", goods_id: "1" }]);

 

第 3 个答案:

直接讲item:any,也许你的map的数组就没有编写type[],你将数组弄成显示类型就可以消除,例如:any[]


 

第 4 个答案:

可以 const swiperList = ref<Array<{ image_src: string, goods_id: string }>>([]) 这样来指定类型


以前听说过这个,但是微前端的概念,在我们这里不是很流行。各位大佬能不能给举个例子,微前端的使用场景。 最好是举的比较极端一点,就是说什么情况下必须使用微前端,如果使用传统的spa就会痛不欲生。另外, ...