使用 Typescript 的“计算”类型上不存在属性 XXX
Posted
技术标签:
【中文标题】使用 Typescript 的“计算”类型上不存在属性 XXX【英文标题】:Property XXX does not exit on type 'Computed' using Typescript 【发布时间】:2022-01-03 05:25:56 【问题描述】:代码运行并在浏览器的控制台中打印出 true。但是在我的本地服务器上,我收到错误Property 'authorities' does not exist on type 'Computed'.
我是 Typescript 和 Vuex 的新手。我检查了一下,isAdmin 是一个具有数组权限的对象
这是我的代码
export default
name: "UserSettingsTabs",
computed:
...mapGetters(
preferences: 'tab/preferences',
administrations: 'tab/administrations',
isAdmin: 'auth/currentUser'
),
isUserAdmin() : boolean
console.log(this.isAdmin.authorities.includes('Admin'));
return this.isAdmin.authorities.includes('Admin');
,
【问题讨论】:
【参考方案1】:这是因为您使用的是mapGetters
,它将isAdmin
解析为<Computed>
这是here 讨论的一些可能的解决方案
如果您对简单的解决方案感到满意,您可以将this.isAdmin as IIsAdmin
与您的自定义界面或类型一起使用。
您也可以使用从 vuex 中提取值的计算函数,而不是使用 mapGetters。
【讨论】:
还有,我想知道pinia是否更优雅地解决了这个问题?pinia.esm.dev/core-concepts/…以上是关于使用 Typescript 的“计算”类型上不存在属性 XXX的主要内容,如果未能解决你的问题,请参考以下文章
Vue CLI 3 typescript - 类型“Vue”上不存在属性“x”
如何使用jsdom和typescript防止“属性'...'在'Global'类型上不存在”?
使用 Typescript 时如何停止“类型 JQuery 上不存在属性”语法错误?
使用 React Typescript 的状态:类型'IntrinsicAttributes & IntrinsicClassAttributes 上不存在属性