uni-app vue3 ts 版本会划线提示点击进去其实是存在的

uni-app vue3 ts 版本会划线提示点击进去其实是存在的

示例代码:

<view @touchstart="onTouchStart" @mousedown="onTouchStart">56565</view>
<script setup lang="ts">  
let isMove:boolean=!1  
   function onTouchStart(e : TouchEvent | MouseEvent) {  
        if (e.touches.length > 1) return  
        if (!isMove) {  
            e.cancelable && e.preventDefault()  
                        isMove = !0           
        }  
    }  
</script>

虽然这样不影响开发,但是有些明明有的结果提示没有就很烦来

操作步骤:

1

预期结果:

不会提示不存在

实际结果:

会提示

bug描述:

view 上绑定事件后使用属性会划线提示不存在,结果是存在的

Image

信息类别 信息内容
产品分类 uniapp/App
PC开发环境 Windows
PC版本号 Windows 10 家庭中文版 版本号22H2
HBuilderX 正式
HBuilderX版本 4.14
手机系统 Android
手机版本号 Android 12
手机厂商 模拟器
手机机型 huawei
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

更多关于uni-app vue3 ts 版本会划线提示点击进去其实是存在的的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app vue3 ts 版本会划线提示点击进去其实是存在的的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在使用 UniApp 结合 Vue 3 和 TypeScript 进行开发时,可能会遇到一些代码编辑器的提示问题,例如某些变量或方法在 TypeScript 中提示不存在,但实际上它们是存在的。这种情况通常是由于 TypeScript 的类型推断或类型声明不完整导致的。

以下是一些可能的原因和解决方法:

1. 类型声明不完整

  • 如果你使用了第三方库或自定义的全局变量,TypeScript 可能无法正确识别它们。你可以通过添加类型声明文件(*.d.ts)来解决这个问题。
  • 例如,如果你有一个全局变量 myGlobalVar,你可以在 src 目录下创建一个 global.d.ts 文件,并添加如下声明:
    declare const myGlobalVar: any;
    

2. 组件或方法未正确导入或注册

  • 确保你在 Vue 组件中正确导入了所有需要的模块、组件和方法。
  • 如果你使用了自定义组件,确保它们已经在 components 中注册。

3. TypeScript 配置问题

  • 检查你的 tsconfig.json 文件,确保它正确配置了 TypeScript 的编译选项。确保 includeexclude 字段正确配置,以便 TypeScript 能够正确识别你的代码文件。
  • 例如:
    {
      "include": ["src/**/*.ts", "src/**/*.vue"],
      "exclude": ["node_modules"]
    }
    

4. UniApp 的类型支持

  • UniApp 提供了一些特定的 API 和组件,TypeScript 可能无法自动识别它们。你可以安装 @types/uni-app 类型声明文件来增强 TypeScript 的支持。
  • 安装命令:
    npm install @types/uni-app --save-dev
    

5. IDE/编辑器问题

  • 有时,IDE 或编辑器的缓存可能会导致类型提示不准确。尝试重启编辑器或清除缓存。
  • 如果你使用的是 VSCode,可以尝试按下 Ctrl + Shift + P,然后选择 Restart TS Server 来重启 TypeScript 服务器。

6. 检查 Vue 3 和 TypeScript 的兼容性

  • 确保你使用的 Vue 3 和 TypeScript 版本是兼容的。有时,不同版本的 TypeScript 和 Vue 可能会存在一些兼容性问题。

7. 使用 [@ts-ignore](/user/ts-ignore) 暂时忽略错误

  • 如果你确定代码是正确的,但 TypeScript 仍然报错,你可以使用 // [@ts-ignore](/user/ts-ignore) 来暂时忽略该错误。不过,这只是一个临时的解决方案,建议尽量通过类型声明来解决。
// [@ts-ignore](/user/ts-ignore)
myGlobalVar.doSomething();
回到顶部