2016-09-25 9 views
1

を@NgModuleするための簡単な機能を追加する方法2.0.0:tnt.module.ts:tnt.utils:Angular2が、私は "ユーティリティ・モジュール" を作成したいと考え

import {NgModule} from '@angular/core'; 
import {toUpperCase} from "./tnt.utils"; 

@NgModule({ 
    declarations: [ 
    toUpperCase 
    ], 
    exports: [ 
    toUpperCase 
    ] 
}) 
export default class TntModule {} 

ここでは、1つのutilの関数の例です。 TS

​​

私はエラーを取得しています:私は

ERROR in [default] /data/2016/le-tube/src/app/shared/tnt/tnt.module.ts:5:10 
Argument of type '{ imports: undefined[]; declarations: ((str: String) => string)[]; exports: ((str: String) => str...' is not assignable to parameter of type 'NgModule'. 
    Types of property 'declarations' are incompatible. 
    Type '((str: String) => string)[]' is not assignable to type '(any[] | Type<any>)[]'. 
     Type '(str: String) => string' is not assignable to type 'any[] | Type<any>'. 
     Type '(str: String) => string' is not assignable to type 'Type<any>'. 
      Type '(str: String) => string' provides no match for the signature 'new (...args: any[]): any' 

何をしないのですか?単純な関数でモジュールを作成できないのはなぜですか?私は

exports : Array|any[]>

Specifies a list of directives/pipes/module that can be used within the template of any component that is part of an angular module that imports this angular module.

、あなたがNgModuleから関数をエクスポートすることはできません

+0

提供されている情報から回答できません。しかし、私は角度cliを使用するように助言することができます:https://github.com/angular/angular-cliとtoUppercaseは私には「パイプ」の候補者です。関数の場合は、サービスを使用する必要があります。 – user3791775

+0

私は角を使用しています、私は感謝を参照してくださいサービスを構築する代わりに。 – Brett

答えて

0

...私はシンプルなディテールをしないのですが、私はそれを把握することはできませんと仮定希望

hereそれについての詳細を読みますこれは役立ちます!

0

モジュールから関数をエクスポートすることはできません。

1)utililty.tsファイルを作成し、エクスポートするためにそこにあなたの関数を作成し、次のいずれか

2つのオプションがあります。

export function utlityFunction1(param1, param2) { return param1+param2;) 

他のオブジェクトと同じように、この関数をコードファイルにインポートできます。

import { utilityFunction } from './utility.ts' 

2)UtilityServiceを作成してコンポーネントに挿入します。

詳細はこちらhttps://angular.io/docs/ts/latest/guide/dependency-injection.html

関連する問題