Vue 3 中使用 TypeScript 和 Composition API

news/2024/7/24 12:26:10 标签: vue.js, typescript, 前端

-使用纯 TypeScript 声明 props 和抛出事件

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

defineProps<{ msg: string }>() 

const count = ref(0) 
</script>
  • 在 ts 中使用 props中的属性,具有很好的类型推断能力,ts写法没有定义默认值时,我们用vue3提供的withDefaults给props提供默认值。
<script setup lang="ts">
interface Person {  
    name: string  
    age: number
}
interface Props {  
    msg: string   
    title?: string  
    list: Person[]
}
// withDefaults 的第二个参数便是默认参数设置,会被编译为运行时 props 的 default 选项
const props = withDefaults(defineProps<Props>(), {  
    title: '个人信息',  
    list: () => []
})
console.log(props.list[0].age)
</script>
  • Composition api类型约束
import { ref, reactive, computed } from 'vue'

interface User = { 
  name: string
  age: number
}
const str = ref<string>('')
const user = ref<User>({ name: 'yang',age:18 })
const user1 = reactive<User>({ name: 'chen',age:18 })

const com1 = computed(() => str.value)
const com2 = computed<User>(()=<{
    return { name: 'okk',age: 20 }
})

http://www.niftyadmin.cn/n/1009352.html

相关文章

【数据结构】栈和队列(队列篇)

上期我们已经学习了数据结构中的栈&#xff0c;这期我们开始学习队列。 目录 1.队列的概念及结构 2.队列的实现 队列结构体定义 常用接口函数 初始化队列 队尾入队列 队头出队列 获取队列头部元素、 获取队列队尾元素 获取队列中有效元素个数 检测队列是否为空 销毁…

LwIP系列(4):ARP协详解

前言 对于应用程序而言&#xff0c;我们与其他设备、服务通信&#xff0c;主要通过域名、IP进行通信&#xff0c;而以太网底层驱动&#xff0c;最终是通过MAC地址来表示设备的唯一标识&#xff0c;即IP是逻辑地址&#xff0c;并不是物理地址。在上一篇文章中&#xff0c;我们也…

rman将rac环境恢复到单机,删除redo告警ORA-01623 ORA-00312

将rac环境迁移单机后&#xff0c;删除redo的thread 2告警&#xff0c;告警信息如下 SQL> select thread#,status,enabled from v$thread; THREAD# STATUS ENABLED ---------- ------ -------- 1 OPEN PUBLIC 2 CLOSED PUBLIC SQL> select group#,thread#,a…

终于有人把Web 3.0讲明白了

前段时间看到周星驰在社交账号上招聘web3.0的人才&#xff0c;感觉有必要说说web3.0&#xff0c;当然不是基于技术层面&#xff0c;而是从另一个维度说说web3.0以及其它相关的概念&#xff0c;从而做到如何反欺诈&#xff0c;如何避免被资本割韭菜。想到哪写到哪&#xff0c;可…

SSTI-lab

Level-1 no waf {{2*2}}测试发现存在ssti漏洞 {{.__class__}}{{.__class__.__bases__[0]}}{{.__class__.__bases__[0].__subclasses__}}import requestsurl"http://node1.anna.nssctf.cn:28430/level/1"#payload{{.__class__.__bases__[0].__subclasses__()[1]}} …

【Java校招面试】实战算法(一)——背包问题总结

目录 前言一、01背包二、变种01背包1——多重背包三、变种01背包2四、完全背包五、变种完全背包六、二维背包七、分组背包八、注意后记前言 “实战算法”是本专栏的第三个部分,本篇博文是第一篇博文,主要收集了常见的背包问题及其变种,如有需要,可: 点击这里,返回本专栏…

机器学习12:分类 Classification

分类&#xff08;Classification&#xff09;是一个有监督的学习过程&#xff0c;目标数据集&#xff08;示例集&#xff09;中具有的类别是已知的&#xff0c;分类过程需要做的就是把每一条记录归到对应的类别下。由于必须事先知道各个类别的信息&#xff0c;并且所有待分类的…

记录一个arx卸载后cad崩溃的问题

记录一个arx卸载后cad崩溃的问题 unhandled access violation reading EXCEPTION acadminidump.dmp出来三个这样的提示 一个arx原来卸载都没问题的后来加了点东西&#xff0c;然后卸载就出现问题&#xff0c;这个版本是vs05&#xff0c;arx2008&#xff0c;原来是在附加依赖多加…