2017-04-01 15 views
0

上のエラーを解析して、私はエイブリー少しモジュールを作成しようとしているが、私はエラーを取得未処理の約束拒否:テンプレートは、私は2角度に新たなんだ角度2

app.component.html

import { Component } from '@angular/core'; 
import { Cronometro } from '../app/modules/cronometro'; 

@Component({ 
    selector: 'app-root', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'], 
    //directives:[Cronometro] 
}) 
export class AppComponent { 

} 

app.component.html

<h1> 
    {{title}} 
</h1> 
<h2>Cronometro</h2> 
<cronometro></cronometro> 

cronometro.ts

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

@Component({ 
    selector: 'cronometro', 
    templateUrl: 'app/modules/cronometro.html' 
}) 

export class Cronometro { 
    title = 'My First Angular App'; 

    public horas:number = 0; 
    public minutos:number = 0; 
    public segundos:number = 0; 
    public started = null; 

    constructor(){ 

    } 

    start(){ 
    if(!this.started){ 
     this.started = true; 
     console.log("start"); 
     this.started = setInterval(
     ()=>{ 
      this.segundos++; 
      if(this.segundos == 60){ 
      this.minutos++; 
      this.segundos = 0; 
      if(this.minutos == 60){ 
       this.minutos = 0; 
       this.horas++; 
      } 
      } 
     } 
     ,10); 
    } 
    } 

    lapse(){ 

    } 

    stop(){ 
    console.log("stop"); 
    clearInterval(this.started); 
    this.started = null; 
    } 
} 
私はangular2に全く新たなんだと、それはおそらく、単純なミスだ言ったように

cronometro.html

<button (click) = "start()" >Start</button> 
<button (click) = "lapse()" >Lapso</button> 
<button (click) = "stop()" >Stop</button> 
<div > 
    <p>{{horas}}:{{minutos}}:{{segundos}}</p> 
</div> 

と、このエラーメッセージ

Unhandled Promise rejection: Template parse errors: 
'cronometro' is not a known element: 
1. If 'cronometro' is an Angular component, then verify that it is part of this module. 
2. To allow any element add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component. (" 
</h1> 
<h2>Cronometro</h2> 
[ERROR ->]<cronometro></cronometro> 
"): ng:///AppModule/[email protected]:0 ; Zone: <root> ; Task: Promise.then ; Value: Error: Template parse errors: 
'cronometro' is not a known element: 
1. If 'cronometro' is an Angular component, then verify that it is part of this module. 
2. To allow any element add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component. (" 
</h1> 
<h2>Cronometro</h2> 
[ERROR ->]<cronometro></cronometro> 
"): ng:///AppModule/[email protected]:0 

、私は何かが欠けていますか?

+0

FYI initializersでプロパティに注釈を入力する必要はありません。また、メンバーはデフォルトで公開されています。 –

答えて

-1

あなたはエラーが示唆するように、NgModuleにコンポーネントを追加する必要があります。それは、このモジュールの一部であることを確認し、

「をcronometro」の角度成分である場合。あなたのapp.module.ts

、宣言配列に追加します。

@NgModule({ 
    declarations: [AppComponent, Cronometro ], 
}) 
export class AppModule { } 

私はあなたがそれをコンポーネント/ディレクティブの/ etcを生成するコマンドです使用している場合、それはこれを自動的に行いますので、あなたは、Angular CLIを使用することをお勧め。

+0

これは、スキャナーのツール、フレームワークの複雑さにもかかわらず、依存しないでください。 –

+0

@AluanHaddad私は同意しない。あなたが何かを学ぶことを始めると、些細なことでうんざりしないほうがいいです。知識を得るのではなく時間を無駄にしているだけです。あなたがNotepad(; – Sasxa

+0

)でコーディングするのが好きでない限り、類推はかなり正しいとは思わない。Angular CLIは、あなたが維持しなければならないコードを生成している。 –

関連する問題