使用 JavaScriptServices/Universal 时 Angular2 表单错误
Angular2 forms error when using JavaScriptServices/Universal
我有一个使用 JavaScriptServices starter.
创建的 Angular2 应用程序
我遇到的问题是,如果组件中有表单,我会收到运行时错误。
我正在导入 FormsModule 和 ReactiveFormsModule。
我的表格是这样的...
<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",
我有一个使用 JavaScriptServices starter.
创建的 Angular2 应用程序我遇到的问题是,如果组件中有表单,我会收到运行时错误。
我正在导入 FormsModule 和 ReactiveFormsModule。
我的表格是这样的...
<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",