ts+vue3出乎意料的推导报错

今天在写代码时候,发现一个让我琢磨不透的报错。通过官网得知2种写法效果是一样的。但是偏偏有一种会类型推导报错。代码如下:

typescript 复制代码
export interface AddRoleParams {
  name: string;
  description: string,
  menus: object[]
}

export interface EditRoleParams extends AddRoleParams {
  id: number,
}

export interface ListItem {
  id: number;
  [key: string]: unknown;
}

const b =  ref<EditRoleParams>({ id: 0, name: '', description: '', menus: []})
export function a(params:Ref<ListItem> | Reactive<ListItem>){ 
  console.log(params)
}

a(b)

上面的代码是正常的,如果把b的赋值改成这个

php 复制代码
const b: Ref<EditRoleParams> =  ref({ id: 0, name: '', description: '', menus: []})

编辑器会发生报错

但是从官网上来看效果应该是一样的。

不过我也没找到是啥原因。

相关推荐
web3d5206 小时前
Vue3 地图白屏排查清单:容器、弹窗与 ol-viewport 重复创建
vue.js·gis
IllegalCreed11 小时前
用 TypeScript 从零重写《仙剑奇侠传》:能通关的浏览器版,和一个给它做内容的可视化编辑器
typescript
hai_android11 小时前
一个公式看懂动态跨表查找:P8 + VLOOKUP
前端·javascript·vue.js
_zxd12 小时前
TypeScript 类型树
前端·typescript
wdssmq14 小时前
「折腾」Vue 简单的状态管理实践
vue.js
Q264336502316 小时前
【有源码】基于Spring Boot和Vue的在线考试与交流系统-教育信息化背景下在线考试与交流一体化平台
java·vue.js·spring boot·mysql·spring·毕业设计·课程设计
苹果二17 小时前
使用Vue的指南
前端·javascript·vue.js
害人终害己18 小时前
‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
前端·javascript·vue.js
Flynt19 小时前
SvelteKit 3 升级实录:sv migrate 改完 6 个源文件,还给我留了张任务清单
typescript·前端框架·svelte
excel1 天前
研究 Vue 3 源码的收获
前端·vue.js