angular - eroare TS7008: Membru 'summary' are implicit tipul 'any'
După actualizarea la Angular 2 RC am primit următoarea eroare:
eroare TS7008: Membru 'summary' are implicit un tip 'any'.
în această linie:
@Input() summary;
ce s-a întâmplat?
Edit: Ok, se pare că primesc această eroare pentru ORICARE dintre variabilele mele publice.
Răspuns #1
Poate că ați schimbat valoarea atributului noImplicitAny în configurația compilatorului TypeScript... Vedeți fișierul tsconfig.json:
{
"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"
]
}
Ai putea să încerci să adaugi un tip proprietății tale. Ceva de genul:
@Input() summary:string;
Răspunsul #2
Această întrebare are deja răspunsuri corecte, totuși pentru a clarifica și explica pe deplin:
Soluția 1 - Setează acest lucru în tsconfig.json-ul tău:
"noImplicitAny": false
Soluția 2 Definește tipul pentru variabila ta astfel:
@Input() summary:string;
Explicație:
Dacă convertiți JavaScript simplu în TypeScript, nu veți avea tipuri atribuite variabilelor (sau parametrilor) - deoarece tiparea strictă este ceea ce îi dă TypeScript numele său.
În acest caz, când ai ceva de genul acestei variabile (care nu are un tip atribuit):
@Input() summary;
Atunci TypeScript va presupune implicit că variabila ta are un tip de 'Any' (adică presupune că variabila poate conține o valoare de orice tip). În plus, dacă ai următoarea setare în tsconfig.json:
{
"compilerOptions": {
...
"noImplicitAny": true,
}
}
... atunci acest lucru spune compilatorului TypeScript să arunce erori dacă o variabilă sau un parametru are implicit tipul 'Any'. Așadar, poți folosi prima soluție pentru a ignora toate erorile de 'any implicit', sau folosești a doua soluție (să specifici un tip), și 'any' nu va fi implicat.
Referință pentru opțiunile compilatorului TypeScript:
https://www.typescriptlang.org/docs/handbook/compiler-options.html
