2017-04-18 17 views
1

私は私のプロジェクトに定期的にクラスを追加しようが、私はそれが、私はそれがディレクティブでない私のプロジェクトでverywhere角2 - カスタムクラスを追加するには?

を使用できるようにするだけで、通常のtypescriptですクラスの

zone.js:917 Uncaught Error: Unexpected value 'Tools' declared by the module 'AppModule'. 
Please add a @Pipe/@Directive/@Component annotation. 

を取得パイプ、またコンポーネントここで

export class Tools 
{ 
    pascalCase(text:string) 
    { 
     return text.charAt(0).toUpperCase() + text.slice(1); 
    } 
} 

もアプリモジュール

import { NgModule, ApplicationRef } from '@angular/core'; 
import { BrowserModule } from '@angular/platform-browser'; 
import { HttpModule } from '@angular/http'; 
import { FormsModule } from '@angular/forms'; 
import { LocationStrategy, HashLocationStrategy } from '@angular/common'; 
import { CookieService } from 'angular2-cookie/core'; 

...  

import { Tools } from './tools.class'; 

@NgModule({ 
    imports: [ 
     BrowserModule, 
     HttpModule, 
     FormsModule, 
     routing, 
     CustomErrorHandlerModule 
    ], 
    declarations: [ 
     AppComponent, 
     ... 
     Tools 
    ], 
あります

ありがとう

+1

何もしません。 '宣言 'には追加しないでください。 TypeScriptのインポートを追加するだけで、コードファイルを使用する場所に認識されます。 –

答えて

2

Toolsdeclarationsから削除します。コンポーネント、ディレクティブ、またはパイプでない場合は、追加する必要はありません。

declarations:アプリケーションモジュールにツールを追加する必要はありません

1

は、現在のモジュールに属しているコンポーネント、ディレクティブ、パイプを宣言するために使用されます。宣言の中のすべてがお互いを知っています。

したがって、宣言からToolsを削除してください。

関連する問題