6***@qq.com
6***@qq.com
  • 发布:2022-11-24 17:14
  • 更新:2023-09-01 21:05
  • 阅读:1746

【报Bug】ts+vue3的uniapp项目在重命名文件之后,标签上的方法或变量会提示[ts] Property 'xxx' does not exist on type 'VueInstance'

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 22621.819

HBuilderX类型: 正式

HBuilderX版本号: 3.6.5

第三方开发者工具版本号: stable 1.06.2209190

基础库版本号: 2.26.0

项目创建方式: HBuilderX

示例代码:
<template>  
    <view>  
        <template v-for="item in repairOrderList" :key="index">  
            <view class="card" @click="goDetail(item)">  
                <view class="card-left">  
                    <view class="repairType">{{item.repairType}}</view>  
                    <view class="sText">发起时间:{{item.createTime}}</view>  
                </view>  
            </view>  
        </template>  
    </view>  
</template>  

<script setup lang="ts">  
    import { ref } from "vue";  

    const repairOrderList = ref([])  

    function goDetail(e: any) {  

    }  
</script>

操作步骤:

1、新建页面,创建同名目录,在pages.json中注册
2、编写部分代码保存
3、重命名该页面,修改pages.json的页面注册路径,保存

预期结果:

重命名成功并编译完成,正常代码提示,不会有任何报错

实际结果:

标签上绑定的变量或方法均提示:[ts] Property 'xxx' does not exist on type 'VueInstance'

bug描述:

项目使用的是vue3+uniapp+ts,script部分使用的是setup语法糖写法文件重命名并且修改完pages.json等文件路径后,被重命名的文件有时候会提示:[ts] Property 'xxx' does not exist on type 'VueInstance',但是在script里面是有暴露并且能正常编译渲染。该文件无论是无论是新定义或是重命名前的变量、方法在标签里都会提示这个,丢失语法提示。

不能稳定复现,有时候将代码拷贝,删除该文件然后重新贴上能恢复,有时候不行。
偶尔重启或者重新编译能修复。

2022-11-24 17:14 负责人:无 分享
已邀请:

最佳回复

Creat

Creat

同样的问题

  • Creat

    找到原因了,应该是js和ts混用引起的bug

    解决:

    1、将main.js 重命名为main.ts

    2、将index.html中script src=main.js 改为main.ts

    问题解决

    2023-02-28 08:52

  • 4***@qq.com

    回复 Creat: 安装好了就是main.ts 也是这个错误

    2023-03-02 11:23

  • l***@163.com

    回复 Creat: 还是同样的错误。

    2023-03-08 22:51

a***@163.com

a***@163.com

同样的问题

  • l***@163.com

    我这边解决了,看看你的问题是不是和我一下,我在下面写了。

    2023-03-09 17:55

呆狗的一生

呆狗的一生 - 呆狗的一生

未复现描述的问题。看着像是ts的言语服务问题。

6***@qq.com

6***@qq.com

我也有这个问题,一堆爆红很是难受。

3***@qq.com

3***@qq.com

同样问题,官方赶紧出面回复下!!!!

4***@qq.com

4***@qq.com

同样问题

  • l***@163.com

    我这边解决了,看看你的问题是不是和我一下,我在下面写了。

    2023-03-09 17:55

小小荧

小小荧

一样的问题

小小荧

小小荧

明明很简单的一个类型声明,都有这种问题,感觉应该是内置的ts有问题。目前没找到解决办法,暂时没管了,渲染是没问题只是警告不舒服,能不能快点解决这个问题

  • l***@163.com

    我这边解决了,看看你的问题是不是和我一下,我在下面写了。

    2023-03-09 17:55

  • 小小荧

    回复 l***@163.com: 好的,我这几天试试

    2023-03-10 17:14

9***@qq.com

9***@qq.com

我也是,在组件里的template使用的所有变量和方法全部标红。。。用的还是最新的3.7.3版本

冷笑天

冷笑天

还没解决吗?我也是,唉!

冷笑天

冷笑天

没人管了吗?还是什么情况?

l***@163.com

l***@163.com

只要是vue3项目就是这个报错;

冷笑天

冷笑天

放弃了挣扎了,有代码洁癖,受不了满屏的红
最后退回了 老版本:3.6.5 就正常了!

  • l***@163.com

    我这边解决了,看看你的问题是不是和我一下,我在下面写了。

    2023-03-09 17:54

  • 冷笑天

    回复 l***@163.com: 谢谢,我的问题好像不是;我的是js的项目;

    2023-03-09 18:32

呆狗的一生

呆狗的一生 - 呆狗的一生

日常水贴
先简单的来个props试试,没有红线警告!HB版本3.7.3

l***@163.com

l***@163.com

我这边的问题找到解决了,我的是vue3+ts+vite项目,如果去掉这两个ts的配置红线提示就没有了,原因可能是ts配置检查导致的。如下两个文件去掉就可以了,或者可以试试修改里面的配置。

  • 冷笑天

    我的是js的项目,连你说的文件都没有,升级完3.7.3就开始了,现在用老版本都正常

    2023-03-09 18:34

  • Lnoon

    vue3+ts+vite 实测去掉tsconfig.json有效 很离谱

    2023-03-16 16:05

_dance

_dance

看来这问题一直没能修复呀,尴尬了。。。

要回复问题请先登录注册