使用 JavaScriptServices/Universal 时 Angular2 表单错误

Angular2 forms error when using JavaScriptServices/Universal

我有一个使用 JavaScriptServices starter.

创建的 Angular2 应用程序

我遇到的问题是,如果组件中有表单,我会收到运行时错误。

我正在导入 FormsModuleReactiveFormsModule

我的表格是这样的...

<form (ngSubmit)="onSubmit()" #loginForm="ngForm" >
...
</form>

我得到的错误是...

Exception: Call to Node module failed with error: Prerendering failed because of error: TypeError: _angular_core.InjectionToken is not a constructor at C:\XXX\ClientApp\dist\main-server.js:35055:42

我错过了什么?当我没有使用 JavaScriptServices starter 进行服务器端呈现时,我的表单设置工作得很好。

我找到了解决方案。我使用的是 Angular 的最新版本。它还不兼容。

阅读 GitHub 问题页面后,我发现恢复 Angular 版本可以解决问题 https://github.com/angular/angular/issues/13432

我现在使用的是以下版本,一切正常。

 "@angular/common": "2.0.2",
 "@angular/compiler": "2.0.2",
 "@angular/core": "2.0.2",
 "@angular/forms": "2.0.2",
 "@angular/http": "2.0.2",
 "@angular/platform-browser": "2.0.2",
 "@angular/platform-browser-dynamic": "2.0.2",
 "@angular/platform-server": "2.0.2",
 "@angular/router": "3.0.2",