当前位置: 首页 > 知识库问答 >
问题:

前端 - vue3 + TS ts类型问题?

薄涵衍
2023-10-25
let count:string = ref(4) //不报错 也不提示const addCount = () => {  count.value++ //也不报错 也不提示}

共有3个答案

姚晋
2023-10-25
let count = ref<string>(4); // error number not assign to string// 正确写法const count = ref<number>(4);const addCount = () => {  count.value++;}
丁业
2023-10-25

截屏2023-10-25 16.59.45.png
是不是你IDE的问题?

昝宜
2023-10-25

你的代码示例中使用了 Vue 3 和 TypeScript,但有些部分似乎不正确。

首先,ref 是 Vue 3 中用于创建响应式引用的函数。但是,你试图将一个数值赋给一个 string 类型的变量,这是不允许的。在 TypeScript 中,string 类型只能用于字符串,而不能用于数值或其他类型。

其次,你在 addCount 函数中尝试改变 count 的值,但是 count 是一个响应式引用,你应该通过 .value 来改变它的值。

以下是一个更正的代码示例:

import { ref, reactive } from "vue";let count = ref<number>(4); //正确的声明方式const addCount = () => {  count.value++; //这是正确的,通过.value来改变count的值}

这段代码创建了一个响应式引用 count,其初始值为4,类型为 number。然后,在 addCount 函数中,我们通过 count.value++ 来增加 count 的值。这是正确的操作方式。

 类似资料:
  • 给定一条数据结构(API数组里面的个数是未知的)如下所示 如何推导出类似这样的类型 即 name 作为key, 如果存在table即为boolean类型,否则为unknown类型 ts的大神们,这个该如何写啊,百度,谷歌都折腾了,还问了gpt也不行,就是值推不出来 我写的是这样的

  • 用的vue3 和element plus,在代码中 每次code1获取到的值都是上一次存入的值,网上搜说是因为异步的关系,具体应该怎么修改请大佬指导!

  • 为什么if片段内的isCache类型被收窄为true,而else片段内的isCache类型推导是boolean。我预期的是else片段内的isCache类型应该推导为false,求解答。 尝试了一下应该不是编辑器的问题。

  • 想实现value是string那么val就是string,value是string[]那么val就是string[]

  • <el-checkbox v-model="checked" label="Option 1" size="large" /> 期望 checked 的值是 0 和 1(0 表示 true,1 表示 false)。 怎么绑定这个值呢? 尝试过: <el-checkbox :value="checked" label="Option 1" size="large" />

  • 报错提示: “Type”表示值,但在此处用作类型。是否指“类型 Type”? 我传入的Type 是一个class类 ,然后里面想要这样指定类型 这个可以做到么 有什么好的方式?