2017-09-25 8 views
-1

最近、私はangular2を学んでいます。あなたは、私がコンポーネントnav-barのタグを閉じ忘れてしまったために見ることができるように私は私のコンポーネント終了タグに苦情を受け取ることができません

@Component({ 
selector: 'events-app', 
template: ` 
    <nav-bar><nav-bar> 
    <events-list></events-list> 
` 
}) 

にコードの下に追加しました。奇妙なことに、何の誤りも投げなかったという不思議。また、ページがレンダリングされたときに、内部にあるものは何も表示されませんでした。events-list

なぜですか?

アップデート1 ここここevents-listコンポーネント

import { Component } from '@angular/core' 

@Component({ 
selector: 'events-list', 
template: ` 
    <div> 
     <event-thumbnail [event]= "event1"></event-thumbnail> 

    </div> 
` 
}) 

export class EventsListComponent{ 
event1 = { 
    id: 1, 
    name: 'Angular connect1', 
    date: '9/26/2017', 
    time: '10:00 am', 
    price: '800' 
    } 

} 

されるHTMLはタグとカスタムコンポーネントを閉じずにタグをサポートすることができるnav-bar成分

@Component({ 
selector: 'nav-bar', 
templateUrl: 'app/nav/navbar.component.html', 
styles:[` 
    .nav.navbar-nav {font-size: 15px;} 
    #searchForm {margin-right: 100px;} 
    @media (max-width: 1200px){#searchForm {display:none}} 
` 

] 
}) 

export class NavBarComponent{ 

} 
+0

あなたも 'イベント-list'コンポーネントのdefinitonを追加することはできますか? – yurzui

+0

タグを閉じることはhtml上の問題です。イベントリストには何を表示する必要がありますか? - 答えが期待される場合はコードを提供してください –

+0

Htmlは入力タグなどの閉じタグなしのタグをサポートしています。だからあなたは何の警告も受けないのです。 – Ploppy

答えて

2

タグを閉じずに供給することが可能です。次のようにevents-listコンポーネントのletの書き換えテンプレート

<nav-bar><nav-bar> 
<events-list></events-list> 

のテンプレートが表示されない理由を理解することが

<nav-bar> 
    <navbar> 
    <events-list></events-list> 

我々はevent-listnavbarの子であることがわかりますそれは別の子の子ですnav-bar

ここで試すことができますhttps://alexzuza.github.io/enjoy-ng-parser/テンプレートを変更するだけです。

あなたnavbarコンポーネントがng-contentevents-list

を表示されませんがないのであればだからあなたのテンプレートは次のようになります。

<nav-bar></nav-bar> 
<events-list></events-list> 
+0

ng-contentは何ですか?私のnav-barのコンポーネントには何もありません。 – Happy

+1

このhttps://toddmotto.com/transclusion-in-angular-2-with-ng-contentを読んでください – yurzui

+0

私はそれが何であるか知っていません。 – Happy

関連する問題