Angular 2 / Ionic 2中的Typescript Casting错误

时间:2016-10-06 12:50:55

标签: angular typescript ionic2

我在离子2中编写了一个简单的应用程序,但是我遇到了anc(Angular编译器)的问题,因为当我运行离子服务时它会给我警告,但应用程序通常会在浏览器上运行,但是当我尝试构建时对于我的手机,它会中断并且构建过程会导致错误。

  var tempResults: ResultModel = new ResultModel(currentOne.id, (me.res.length > 1) ? me.res[0] : me.res[0], (me.res.length > 1) ? me.res[1] : me.res[0], currentOne.question, currentOne.imagePath);
    console.log(localforage.hasOwnProperty('result'))
    localforage.getItem('results').then(data=> {
      var allResponses: Array<ResultModel> = new Array<ResultModel>();
      if (data != null) {

        var allResponses: Array<ResultModel> = <Array<ResultModel>>JSON.parse(data);
            allResponses.push(tempResults);
        localforage.setItem('results', JSON.stringify(allResponses));
      } else {
        allResponses.push(tempResults);
        localforage.setItem('results', JSON.stringify(allResponses));
      }
    });

触发错误的行是:       var allResponses:Array =&gt; JSON.parse(data);

错误是:

  

ngc错误:错误:C处的错误:/ Users /.../ result-item.ts:23:52:类型&#39; {}&#39;的参数不能分配给&#39; string&#39;。

类型的参数

我在编译器中遇到类型错误,我开始认为这可能是一个错误。

1 个答案:

答案 0 :(得分:1)

根据文档,json.parse()期望一个字符串作为输入,我相信你的数据参数是一个对象。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse