2017-05-12 5 views
13

私はAngular2で新しくなりました。コンポーネントを作成しようとしましたが、エラーが表示されました。'<selector>'が角度成分である場合、それがこのモジュールの一部であることを確認してください

これはapp.component.tsファイルです。

これは、作成したいコンポーネントです。

import { Component } from '@angular/core'; 

@Component({ 
selector: 'my-component', 
template: ` 
    <p>This is my article</p> 
` 
}) 

export class MyComponentComponent { 

} 

表示2つのエラー:my-componentの角度成分である

  1. 場合、それは、このモジュールの一部であることを確認してください。
  2. my-componentがWebコンポーネントの場合は、このコンポーネントの@NgModule.schemasCUSTOM_ELEMENTS_SCHEMAを追加してこのメ​​ッセージを抑制します。

お願いします。

答えて

4

は、あなたがそうのようなあなたのapp.module.tsでそれをインポートし、ディレクティブのビットを削除します: -

@NgModule({ 
    bootstrap: [AppComponent], 
    imports: [MyComponentModule],// or whatever the name of the module is that declares your component. 

    declarations: [AppComponent], 
    providers: [] 
}) 
export class AppModule {} 

あなたMyComponentModuleは次のようにする必要があります: -

@NgModule({ 
    imports: [], 
    exports: [], 
    declarations: [MyComponentComponent], 
    providers: [], 
}) 
export class MyComponentModule { 
} 
5

あなたの "MyComponentComponentは" "にしてください。 MyComponentModule "を返します。

"MyComponentModule"では、 "MyComponentComponent"を "exports"内に配置する必要があります。

次のコードを参照してください。

@NgModule({ 
    imports: [], 
    exports: [MyComponentComponent], 
    declarations: [MyComponentComponent], 
    providers: [], 
}) 

export class MyComponentModule { 
} 

と(下記のコードを参照)、このような「app.module.ts」の「輸入」の「MyComponentModule」を配置。

import { MyComponentModule } from 'your/file/path'; 

@NgModule({ 
    imports: [MyComponentModule] 
    declarations: [AppComponent], 
    providers: [], 
    bootstrap: [AppComponent] 
}) 

export class AppModule {} 

このようにすると、コンポーネントのセレクタがアプリケーションによって認識されるようになりました。

あなたはここでそれについての詳細を学ぶことができます:https://angular-2-training-book.rangle.io/handout/modules/feature-modules.html

乾杯を!

2

は、たぶんこれは、あなたがこの<app-mycomponent></app-mycomponent>

を使用する必要があります。この <mycomponent></mycomponent>

ようhtml何かに使用

htmlタグコンポーネントの名前です

関連する問題