1

「ユーティリティ モジュール」を作成したい: tnt.module.ts:

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

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

以下は util 関数の例です: tnt.utils.ts

export const toUpperCase= function (str:String) {
  return str.toUpperCase()
}

エラーが表示されます:

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'

何が欠けていますか?単純な関数でモジュールを作成できないのはなぜですか? 単純な詳細が欠けているだけだと思いますが、理解できません...

4

2 に答える 2

0

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

exports : 配列|任意の[]>

この角度モジュールをインポートする角度モジュールの一部である任意のコンポーネントのテンプレート内で使用できるディレクティブ/パイプ/モジュールのリストを指定します。

詳しくはこちら

お役に立てれば!!

于 2016-09-26T00:03:02.847 に答える