我在离子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;。
类型的参数
我在编译器中遇到类型错误,我开始认为这可能是一个错误。
答案 0 :(得分:1)
根据文档,json.parse()期望一个字符串作为输入,我相信你的数据参数是一个对象。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse