初识Vue3常见问题合集

一、找不到模块“vue”

如图:用npm create vite@latest创建号项目后,在main.js中我们可以看见“vue”会标红,并提示找不到模块“vue”

1、根据提示在tsconfig.json中将moduleResolution的值改为node

2、项目跟目录的xxx.d.ts文件中加入

declare module '*.vue' {
    import type { DefineComponent } from 'vue'
    const component: DefineComponent<{}, {}, any>
    export default component
}

二、 找不到名称 "require"

三、不识别别名@

tsconfig.json文件中添加

 "baseUrl": ".",
 "paths": {
      "@/*": ["./src/*"]
 },

四、写上后缀(.ts)报错

去掉 .ts, 框架内部要求 .vue 的后缀不能省略

五、挂在window变量

根目录下 window.d.ts
interface Window {
    [k:string]:any
}

六、项目ts中引入js

tsconsif.json 文件中 "allowJs": true 需打开

七、编辑器误以为有undefined或null而产生的报错

解决方案:采用 感叹号(!)非空断言操作符,告诉TypeScript编译器,该表达式不会为null或undefined,并强制将其转换为非空类型

如图:

八、TypeScript 类型断言错误 : 'This expression is not callable Type ' .。 .' has no call signatures' 是由于缺少分号引起的

如图:

解决方案:前面加上;即可

Vue3中,可以使用动态绑定class的方式有多种。其中一种是使用对象语法。你可以通过在:class属性中传入一个对象来动态切换class。例如,你可以在模板中使用以下代码来实现动态绑定class: ```html <div :class="{&#39;active&#39;: isActive, &#39;fw6&#39;: isA}"></div> ``` 在这个例子中,isActive和isA是在Vue实例的data中定义的变量。当isActive为true时,该元素将具有active类;当isA为true时,该元素将具有fw6类。你可以根据需要添加或删除其他类。 另一种方式是使用数组语法。你可以在:class属性中传入一个数组,数组中的每个元素都是一个类名。例如: ```html <div :class="\[isActive ? &#39;active&#39; : &#39;&#39;, isA ? &#39;fw6&#39; : &#39;&#39;\]"></div> ``` 在这个例子中,如果isActive为true,则元素将具有active类;如果isA为true,则元素将具有fw6类。如果变量的值为false,则对应的类名将被省略。 这些是Vue3中动态绑定class的两种常见方式。你可以根据自己的需求选择适合的方式来实现动态绑定class。 #### 引用[.reference_title] - *1* [初识Vue 3.0 —— 动态class绑定](https://blog.csdn.net/qq_38499671/article/details/111994341)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [vue动态绑定class的几种方法](https://blog.csdn.net/u013994400/article/details/125432141)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值