Angular4我应该使用Iterable的定义

时间:2017-02-20 14:27:58

标签: angular typescript angular4

我已将我的应用升级到最新的Angular 4(beta-8)版本。但是我一直有以下错误:

  

@angular\core\src\change_detection\differs\iterable_differs.d.ts:14: TS2304 Cannot find name 'Iterable'

我确实查找了更改日志并找到了:

  

现在需要Iterable<T>的定义来正确编译Angular应用程序。 Iterable<T>,但必须提供类型定义Iterable<T>

我应该在此处使用什么作为Iterable定义?

编辑:

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"
  }

1 个答案:

答案 0 :(得分:4)

根据更新日志中声明的migration,您应在es2015.iterable内添加tsconfig.json作为lib:

{
  ...,
  "compilerOptions" : {
     ...,
     "lib": ["es6", "dom", "es2015.iterable"]
   }
}