【发布时间】:2017-05-23 19:50:15
【问题描述】:
检查底部的更新!
我有一项服务在应用程序引导时引发错误。 Cannot read property 'call' of undefined。我正在使用 ng2 2.4.2 和 angular-cli 1.0.0-beta.24。
错误
Uncaught TypeError: Cannot read property 'call' of undefined at webpack_require (bootstrap 81b10f8…:52) at Object.621 (environment.ts:8) at webpack_require (bootstrap 81b10f8…:52) at Object.450 (src async :7) 在 webpack_require (bootstrap 81b10f8…:52) 在 Object.1057 (util.service.ts:35) 在 webpack_require (bootstrap 81b10f8…:52) 在 webpackJsonpCallback (bootstrap 81b10f8…:23) 在 main.bundle.js: 1
如您所见,这是 util 服务的问题 - 如下所示:
import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
import { Project } from '../datatypes/';
import { Response } from '@angular/http';
@Injectable()
export class UtilService {
constructor(private router: Router) {}
public redirectToProject(project: Project) {
let query = project.ProjectName.split(' ')
.join('-')
.concat('-' + project.Id)
.toLowerCase();
this.router.navigate(['/project', query]);
}
public extractData(res: Response) {
let body = res.json();
return body || {};
}
}
奇怪:在 chrome 中检查源文件时,它没有语法突出显示,这表明存在语法错误 - 但我认为没有。
2017 年 1 月 20 日更新
我更新到 ng2.4.4 和 angular-cli 1.0.0-beta26。问题还是一样。
在玩的过程中,Arjan 发现它适用于 beta 21。将不得不检查更改。现在问题不在上面的服务中,而是在environment.ts 文件中(具有所有默认值)。
【问题讨论】:
-
你同时解决了这个问题吗?
-
不,你有同样的问题吗? @Arjan
-
是的,我以为我通过在
src/app/index.ts中修复错误的export来解决它,但是在写下这个作为答案时,几分钟后它又被打破了......!到目前为止,我还没有让它工作。待续,希望... -
嗯,好吧.. 有消息时你能在这里更新吗?我也会这样做。
-
次要更新:在 angular-cli 1.0.0-beta.21 中一切正常,并在 22 中开始抱怨。奇怪的是,在版本 22 中,当还玩引导多个应用程序时模块,我也遇到了github.com/angular/angular-cli/issues/2887,而我根本没有明确尝试使用 AOT。也许 angular-cli 配置中的某些默认值已更改,但我找不到差异。 (我已经通过
ng init查看所有差异。)
标签: angular typescript service dependency-injection webpack