变量' a'暗中有一个“任何[]'类型

时间:2016-08-30 22:00:57

标签: angular typescript

我尝试为{angular}项目运行npm start

但得到此错误:

  push_quick git:(master) npm start

> angular2-quickstart@1.0.0 start /Users/eladb/WorkspaceQa/SupporTool/src/main/webapp/html/push_quick
> tsc && concurrently "tsc -w" "lite-server"

app/shared/stringUtils.service.ts(8,9): error TS7005: Variable 'a' implicitly has an 'any[]' type.

npm ERR! Darwin 15.6.0
npm ERR! argv "/usr/local/Cellar/node/6.3.1/bin/node" "/usr/local/bin/npm" "start"
npm ERR! node v6.3.1
npm ERR! npm  v3.10.3
npm ERR! code ELIFECYCLE
npm ERR! angular2-quickstart@1.0.0 start: `tsc && concurrently "tsc -w" "lite-server" `
npm ERR! Exit status 2
npm ERR!

这个方法:

@Injectable()
export class StringUtilsService {

  mapToFormParamsString( dict : any) : string{
    var a:any[] = []
    for (var key in dict) {
      if (dict.hasOwnProperty(key)) {
        a.push(key+"="+dict[key]);
      }
    }
    return a.join("&");
  }
}

我该如何解决这个问题?

更改var a = string[]var a = any[]

没有帮助。相同的编译错误。

顺便说一句,在使用ng start或intellij

进行编译时,我没有遇到任何错误

ng startmpn start还是反过来?

1 个答案:

答案 0 :(得分:3)

可能在strinUtils.service.ts中。组件的成员或变量没有显式类型。由于您未提供服务代码,因此可以快速修复

var a:string[] = [] 

错误显示在linting验证上,有时如果linter没有通过则会破坏编译运行时。