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)动画是如何工作的?

Chutzpah - 使用 jasmine 和 TypeScript 进行 AngularJS 测试

AngularJS 2.0入门指南

Angular 2.0 和 D3.js 不在 svg 上应用 Css [重复]