2016-09-28 83 views
4

我想包括在我的應用程序和代碼示例一個現有的組件我有這些依賴關係:我現在用'@angular'代替'angular2'角2,打字稿模塊沒有導出的常量「FORM_DIRECTIVES」

import {CORE_DIRECTIVES, FORM_DIRECTIVES, NgClass} from 'angular2/common'; 

這會我覺得是這樣的:

import { Component, OnInit, CORE_DIRECTIVES } from '@angular/core'; 
import { FORM_DIRECTIVES } from '@angular/forms'; 

但是我得到這個錯誤

mypath/node_modules/@angular/forms/index"' has no exported member 'FORM_DIRECTIVES'. 
mypath/node_modules/@angular/core/index"' has no exported member 'CORE_DIRECTIVES'. 

我該如何包含FORM_DIRECTIVES,如果它們不再是angular2的一部分什麼是替換或新方法來解決依賴關係?

我已經檢查的角度changelog但找不到任何

回答

8

FORM_DIRECTIVES現在的FormsModule一部分,所以你應該導入FormsModule並將其添加到您的模塊的進口。

CORE_DIRECTIVES現在是CommonModule的一部分,由BrowserModule導出。您已在AppModule中導入BrowserModule,因此您無需對CORE_DIRECTIVES執行任何操作。這裏的基本模塊的進口FormsModule的例子:

import { NgModule } from '@angular/core'; 
import { BrowserModule } from '@angular/platform-browser'; 
import { FormsModule } from '@angular/forms'; 
import { AppComponent } from './app.component'; 

@NgModule({ 
    imports: [ 
     BrowserModule, 
     FormsModule 
    ], 
    declarations: [ 
     AppComponent 
    ], 
    bootstrap: [AppComponent] 
}) 

export class AppModule { } 
+0

怎麼樣CORE_DIRECTIVES或其他?我在哪裏可以找到這些更改的列表? –

+0

@DarkoRodic編輯我的答案,增加了關於'CORE_DIRECTIVES'的部分。我不知道你可以在哪裏找到完整的變更列表,說實話,也許別人可以幫助你。 –

2

,你應該安裝:

npm install --save angular2 

這樣的:

"dependencies": { 
    "@ngrx/store": "^1.2.1", 
    "angular2": "^2.0.0-beta.7", 
    "es6-promise": "^3.0.2", 
    "es6-shim": "^0.33.3", 
    "reflect-metadata": "0.1.2", 
    "rxjs": "5.0.0-beta.2", 
    "zone.js": "0.5.15" 
    } 

這工作:

import {ControlGroup, Control, FORM_DIRECTIVES} from "angular2/common"; 

@Component({ 
    selector: 'person-form', 
    directives: [FORM_DIRECTIVES], 
    template: require('./person_form.html') 
}) 

export class PersonForm { ... } 
This fails with FORM_DIRECTIVES as undefined: 

import {ControlGroup, Control} from "angular2/common"; 

@Component({ 
    selector: 'person-form', 
    directives: [FORM_DIRECTIVES], 
    template: require('./person_form.html') 
}) 

export class PersonForm { ... }