在vue的项目里使用ts,声明了一个变量,然后这个变量就报错

export default class FontPage extends Vue {
	private hasLogin;
}

TS7008: Member 'hasLogin' implicitly has an 'any' type.
很奇怪这个问题,就去查了一下是什么问题

看到了解决方法:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false // <-----
  },
  "exclude": [
    "node_modules",
    "typings/main",
    "typings/main.d.ts"
  ]
}

发现这个问题是 noImplicitAny:在表达式和声明上有隐含的 any类型时报错。
因为没有声明类型,所以包含了any类型,所以被提示报错了。

所以在vue定义变量的时候,还是给初始的类型吧

Logo

前往低代码交流专区

更多推荐