2016-10-21 11 views
1

私はRouterModuleを使ってアプリを構築しています。問題は、コンポーネントデコレーションで「テンプレート」を使用するとすばらしいことですが、代わりに「templateUrl」を使用すると、アプリがグリッチを開始します。角2 "テンプレート"と "templateUrl"の問題

コンソールスロー:キャッチコピー:エラー:アプリ内エラー/about.component.html:1:30原因:最大呼び出しスタックサイズを超えました

問題が存在しないように見えるので、どのファイルが役立つか分かりません。適切

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

    @Component({ 
     selector: 'about-block', 
     templateUrl: 'app/about.component.html' 
    }) 

    export class AboutComponent {} 

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

    @Component({ 
     selector: 'about-block', 
     template: '<h1>This is About section</h1>' 
    }) 

    export class AboutComponent {} 

P.S.正しく動作して動作していない

app.module.ts

import { NgModule }  from '@angular/core'; 
import { BrowserModule } from '@angular/platform-browser' 
import { AppComponent } from './app.component'; 

import { AppRoutingModule, routingComponents} from './app.routing'; 

@NgModule({ 
     imports:  [ BrowserModule, AppRoutingModule ], 
     declarations: [ AppComponent, routingComponents ], 
     bootstrap: [ AppComponent ] 
    }) 
export class AppModule { } 

<about-block> 

    </about-block> 
+0

問題はおそらくapp.module.tsファイルにはありません。 – micronyks

+0

私は、どこかに 'カンマ'か 'ドット'エラーがあるかどうかわかりません。 – micronyks

+0

@micronyks app.module.tsファイルを追加しました。ご覧ください。 –

答えて

2

about.component.htmlためのあなたabout-blockタグのabout.component.html

から<about-block></about-block>を削除しますhtmlテンプレートは、再帰的になります。したがって、最大コールスタックサイズ超過エラーを受け取ります。

+0

「about-block」タグを.htmlから削除すると、少し説明していただけますか?セレクタ「about-block」は何ですか?私は、ページ上のテンプレートのコンテナになるはずのタグabout-blockを持つDOM要素がどこにあるのでしょうか? –

+0

このようなhtmlテンプレートにhtmlを追加することができます - '

これはAboutセクションです

' – Sanket

+0

ええ、私はそれを理解しています。コンポーネントデコレーションのセレクタは何も分かりません。タグは 'about-block'実際のDOMへの参照なしに抽象的な名前に変わります。 –