我正在运行into this issue,但我想关闭严格模式才能解决该问题。
我用以下方法修改了tsconfig.json
:
"compilerOptions": {
"strict": false,
还尝试了:
"compilerOptions": {
"noImplicitUseStrict": true,
但是没有爱。有想法吗?
答案 0 :(得分:3)
如果有人遇到这个问题,从Angular 8升级到Angular 10后,我也会遇到类似的问题。 我必须删除所有角度编译器标志,并使用以下TS标志:
在tsconfig.json上:
"compilerOptions": {
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"experimentalDecorators": true,
"module": "es2020",
"moduleResolution": "node",
"importHelpers": true,
"target": "es2015",
"noImplicitUseStrict": true,
"resolveJsonModule": true,
"skipLibCheck": true,
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
]
}
在angular.json上
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"my-project-name": {
"projectType": "application",
"schematics": {
"@schematics/angular:application": {
"strict": false
}
}
}
}
}
答案 1 :(得分:1)
我的应用程序中遇到了类似的问题。如果没有严格模式,我将无法使用日期选择器。存在一些无效的日期范围问题。后来,在调试时,我发现模板使用的是严格模式,这是因为config属性被覆盖。
您是否检查了ng-app指令? 请检查以下内容:https://docs.angularjs.org/api/ng/directive/ngApp#usage
以防万一,如果您的模块或模板明确启用了严格模式。 希望这可以帮助。手指交叉。
答案 2 :(得分:0)
在Angular doc之后,可以禁用严格模式,关闭 tsconfig.json 文件上的这些标志:
"forceConsistentCasingInFileNames": false,
"strict": false,
"noImplicitReturns": false,
"noFallthroughCasesInSwitch": false,
...
"angularCompilerOptions": {
"strictInjectionParameters": false,
"strictInputAccessModifiers": false,
"strictTemplates": false
}
答案 3 :(得分:0)
大多数情况下,作为 Angular 框架的初学者,您将面临的问题是 strictPropertyInitialization 选项,该选项默认设置为 true
<块引用>对您的开发过程影响最大的两个标志是strictPropertyInitialization 和strictNullChecks。 read more...
因此您可以使用 --strict
option se 为 false 来创建一个新的 Angular 项目,而无需启用严格模式。
ng new app --strict=false
这将导致 tsconfig.json 没有 strict...
选项。