Cocos Creator 3.x解决`类型为 “xxx“ 的表达式不能用于索引类型 “{}“。`的报错
Posted 木限东
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cocos Creator 3.x解决`类型为 “xxx“ 的表达式不能用于索引类型 “{}“。`的报错相关的知识,希望对你有一定的参考价值。
前言
使用 Cocos Creator 3.x 编写脚本文件时,在 3.0 ~ 3.5.2 版本,项目默认是开启严格模式(即 tsconfig.json 的 compilerOptions 中的 strict 默认为 true),在 3.6.0 版本,项目默认关闭严格模式。
开启严格模式
- 优点:可以帮助我们查找并修正更多的隐藏问题。
- 缺点:会有一系列的报错难于预期或者报错太多了(这个语法不能使用或者哪个语法不能使用,需要规避 // @ts-ignore )。
问题
在我们开启严格模式后,当我们新建了一个 索引类型 let info = ; 后,我们需要动态为 info 设置属性以及属性值时,会有如下报错:
元素隐式具有 “any” 类型,因为类型为 ““aaaa”” 的表达式不能用于索引类型 “”。
类型“”上不存在属性“aaaa”。ts(7053)
那么如何消除该报错呢?
解决方案
- 关闭严格模式。
- 不关闭严格模式,在 tsconfig.json 的 compilerOptions 配置suppressImplicitAnyIndexErrors 为 true(默认为 false)
问题解决
解释
这个配置(suppressImplicitAnyIndexErrors)什么作用?
在 typescript 的官方文档中,可以找到 https://www.typescriptlang.org/tsconfig/#suppressImplicitAnyIndexErrors 解释。
今天,你学会了吗?
【关注我】带你避免更多开发中遇见的坑!
cocos creator粒子特效怎么来的
参考技术A 找一找粒子相关的代码,粒子这里忘了很多,如果是精灵跟精灵的话,只要以被跟者坐标更新跟者坐标就可以,不知道粒子是不是。。。。。以上是关于Cocos Creator 3.x解决`类型为 “xxx“ 的表达式不能用于索引类型 “{}“。`的报错的主要内容,如果未能解决你的问题,请参考以下文章
Many Widgets——A handy plugin for Cocos Creator 3.x
Many Widgets——A handy plugin for Cocos Creator 3.x