Angular 2 CLI - AoT 编译 - 无法使用 HTML5 表单验证器
Angular 2 CLI - AoT Compilation - Unable to use HTML5 form validators
我正在尝试构建一个 Angular 2 项目,使用带有 --prod 和 --aot 参数的 angular-cli。构建失败并出现以下错误:
Property 'required' does not exist on type '{ [key: string]: any; }'.
在我的 HTML 中,我对我的一些输入(必需的,模式)使用了 HTML5 个验证器。
使用 JiT 编译,这些按预期工作。只有在 AoT 编译期间才会出现错误。
谁看过这个吗?我希望不必诉诸于使用 ReactiveForms 方法和使用 Angular 验证器来定义我的所有表单,除非没有办法解决它。
以下是一些会导致AoT编译失败的事情。
- 不要对模板或样式使用 require 语句,使用 styleUrls 和 templateUrls,
angular2-template-loader
插件会在构建时将其更改为 require。
- 不要使用默认导出。
- 不使用
form.controls.controlName
,使用form.get(‘controlName’)
- 不使用
control.errors?.someError
,使用control.hasError(‘someError’)
- 不要在您的提供程序、路由或声明中使用函数,导出函数然后引用该函数名称
- @Inputs、@Outputs、View 或 Content Child(ren)、Hostbindings,以及您在模板中使用或为 Angular 注释的任何字段应为 public
我正在尝试构建一个 Angular 2 项目,使用带有 --prod 和 --aot 参数的 angular-cli。构建失败并出现以下错误:
Property 'required' does not exist on type '{ [key: string]: any; }'.
在我的 HTML 中,我对我的一些输入(必需的,模式)使用了 HTML5 个验证器。
使用 JiT 编译,这些按预期工作。只有在 AoT 编译期间才会出现错误。
谁看过这个吗?我希望不必诉诸于使用 ReactiveForms 方法和使用 Angular 验证器来定义我的所有表单,除非没有办法解决它。
以下是一些会导致AoT编译失败的事情。
- 不要对模板或样式使用 require 语句,使用 styleUrls 和 templateUrls,
angular2-template-loader
插件会在构建时将其更改为 require。 - 不要使用默认导出。
- 不使用
form.controls.controlName
,使用form.get(‘controlName’)
- 不使用
control.errors?.someError
,使用control.hasError(‘someError’)
- 不要在您的提供程序、路由或声明中使用函数,导出函数然后引用该函数名称
- @Inputs、@Outputs、View 或 Content Child(ren)、Hostbindings,以及您在模板中使用或为 Angular 注释的任何字段应为 public