Vue3 + Vite + Ts 报错:Property ‘ ‘ does not exist on type ‘never‘

报错代码显示:

src/views/Classfy/index.vue:13:20 - error TS2339: Property 'name' does not exist on type 'never'.

13         <p>{
   
   { item.name }}</p>
                      ~~~~

src/views/Classfy/index.vue:14:32 - error TS2339: Property 'icon' does not exist on type 'never'.

14         <img :src="getImg(item.icon)" alt="" v-onerror />
                                  ~~~~

src/views/Home/index.vue:18:20 - error TS2339: Property 'name' does not exist on type 'never'.

18         :key="item.name"
                      ~~~~

src/views/Classfy/index.vue:22:34 - error TS2339: Property 'tagId' does not exist on type 'never'.

22         @click="searchByTag(item.tagId)"
                                    ~~~~~

src/views/Home/index.vue:19:32 - error TS2339: Property 'tagId' does not exist on type 'never'.

19         @click="toClassFy(item.tagId)"
                                  ~~~~~

src/views/Home/index.vue:21:32 - error TS2339: Property 'icon' does not exist on type 'never'.

21         <img :src="getImg(item.icon)" alt="" />
                                  ~~~~

src/views/Classfy/index.vue:25:20 - error TS2339: Property 'name' does not exist on type 'never'.

25         <p>{
   
   { item.name }}</p>
                      ~~~~

src/views/Home/index.vue:22:41 - error TS2339: Property 'name' does not exist on type 'never'.

22         <p class="classfy_name">{
   
   { item.name.slice(0, 1) }}</p>
                                           ~~~~

src/views/Home/index.vue:30:20 - error TS2339: Property 'name' does not exist on type 'never'.

30         :key="item.name + 'ss'"
                      ~~~~

src/views/Home/index.vue:32:25 - error TS2339: Property 'cover' does not exist on type 'never'.

32         <img :src="item.cover" alt="" v-onerror />

出现情景:本地开发

修改方法:

所有使用到属性的地方都使用  a['b'] 的形式代替 a.b 来显示数据:

    <div class="left">
      <div
        :class="['classfy_item flex', index == active ? 'active' : '']"
        v-for="(item, index) in list"
        :key="item['tagId']"
        @click="
          active = index;
          children = item['children'];
        "
      >
        <p>{
   
   { item["name"] }}</p>
        <img :src="getImg(item['icon'])" alt="" v-onerror />
      </div>
    </div>

出现情景:打包

​​​​​​​将 package.json 文件中的  "build": "vue-tsc --noEmit && vite build", 

改为 :   "build": "vite build",

然后重新打包就行 

猜你喜欢

转载自blog.csdn.net/A88552211/article/details/124378368