Angular 2.0、Typescript 和“FORM_DIRECTIVES”模块
Posted
技术标签:
【中文标题】Angular 2.0、Typescript 和“FORM_DIRECTIVES”模块【英文标题】:Angular 2.0, Typescript and 'FORM_DIRECTIVES' module 【发布时间】:2015-11-24 20:33:28 【问题描述】:我正在使用 Angular 2.0 Alfa 35。当我导入 FORM_DIRECTIVES
(这是 Alfa 35 上 formDirectives
的新名称)时,我收到了 Typescript 错误:
error TS2305: Module '"angular2/angular2"' has no exported member 'FORM_DIRECTIVES'.
这是 ts 定义中的错误吗?我可以修复/覆盖它吗?
【问题讨论】:
你能看看这个***.com/a/32150789/2435473 我做到了。这就是我知道使用FORM_DIRECTIVES
而不是formDirectives
的原因...
@YanivEfraim 你能设置一个 plnkr 吗?我无法重现它。
我会尝试(不确定是否可以使用 ts 编译器获得 plunker。错误在 ts 编译器内)。我将能够添加 github 存储库,您可以克隆和安装 + 服务.. 10X!
您最近升级了吗?尝试删除 node_modules 并再次运行 npm install
【参考方案1】:
import FORM_DIRECTIVES from 'angular2/angular2';
使用 angular2@2.0.0-alpha.35
为我工作【讨论】:
【参考方案2】:从今天开始,Angular 2 Beta 应该是:
import FORM_DIRECTIVES from 'angular2/common'
【讨论】:
【参考方案3】:是的,我们都知道 angular2 现在处于测试阶段,因此无论是导入列表还是任何语法的情况,破坏性更改的可能性几乎可以忽略不计,顺便说一句,您可以从这里导入必要的表单导入...
import CORE_DIRECTIVES, FORM_DIRECTIVES, NgClass, NgIf NgForm, Control, ControlGroup, FormBuilder, Validators from 'angular2/common';
有关 angular2 beta 的所有导入的更多列表,您可以在此处参考
List of all Imports updated to angular2 RC更新
随着更新的 angular2 RC 有变化
import FORM_DIRECTIVES from '@angular/common';
【讨论】:
【参考方案4】:之前给出的所有答案都不再适用。 Angular2 现在在 NPM 中具有完全不同的结构和包名称。
对于自 Angular 2.0.0-rc.0(从 2016 年 5 月 2 日起)以来的任何内容,您必须将其用于旧表单系统:
import FORM_DIRECTIVES from '@angular/common';
更新:如果您使用的是新的 Angular 2 表单系统,也可以从此处加载:
import FORM_DIRECTIVES from '@angular/forms';
您可以在Angular 2 ChangeLog 中了解它。
【讨论】:
输入与FORM_DIRECTIVES
有什么关系?
不是,我贴错了代码行。修复了。
我明白了。我还没有检查 FORM_DIRECTIVES
导出,但新表单的内容在 RC.3 中的 @angular/forms
中
@GünterZöchbauer 原来你也可以从@angular/forms
导入FORM_DIRECTIVES
。
如果您使用旧表单,您必须从common
导入,如果您使用新表单,则从forms
导入。这两者不能混用。【参考方案5】:
从今天开始……
import FORM_DIRECTIVES from '@angular/form';
【讨论】:
“截至今天”这个描述太没用了,版本对以后的读者会更有用。【参考方案6】:角度 >= RC.5
import FormsModule, ReactiveFormsModule from '@angular/forms';
@NgModule(
imports: [BrowserModule, FormsModule, ReactiveFormsModule],
...
)
【讨论】:
以上是关于Angular 2.0、Typescript 和“FORM_DIRECTIVES”模块的主要内容,如果未能解决你的问题,请参考以下文章
Angular 2.0:Typescript 是不是支持 ES6 的所有特性?
ng2-ckeditor 使用 typescript 和 angular 2.0 添加占位符插件
“Angular 2.0 for TypeScript”(alpha)动画是如何工作的?