pasar - ngfor angular 6
Angular4 ¿Qué definición de Iterable debo usar? (2)
Actualicé mi aplicación a la última versión de Angular 4 (beta-8). Sin embargo sigo teniendo el siguiente error:
@angular/core/src/change_detection/differs/iterable_differs.d.ts:14: TS2304 Cannot find name ''Iterable''
Revisé el registro de cambios y encontré:
Ahora se requiere una definición de
Iterable<T>
para compilar correctamente las aplicaciones angulares. No se requiere soporte paraIterable<T>
en tiempo de ejecución, pero debe estar disponible una definición de tipoIterable<T>
.
¿Qué debería usar como definición Iterable aquí?
EDITAR:
tsconfig.json
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
/* for reading your ts source while debugging from a browser */
"sourceMap": true,
/* the following two settings are required for angular2 annotations to work*/
"emitDecoratorMetadata": true,
"experimentalDecorators":true,
/* noImplicitAny when you want your typescript to be fully typed */
"noImplicitAny":false,
"suppressImplicitAnyIndexErrors":true,
"noFallthroughCasesInSwitch":true,
"noImplicitReturns":true,
"outDir": "./target/ts"
}
Después de la migración indicada en su registro de cambios, debe agregar es2015.iterable
como lib dentro de su tsconfig.json
:
{
...,
"compilerOptions" : {
...,
"lib": ["es6", "dom", "es2015.iterable"]
}
}
Probé la respuesta aceptada para esta pregunta, pero no funcionó en mi caso.
En mi caso, agregué debajo de la línea en mis main.ts
///<reference path="./../typings/globals/core-js/index.d.ts"/>
que solucionó el problema, espero que esto ayude a alguien.