2017-08-12 11 views
1

たとえば、私はこのReactと同様のローカルHTMLテンプレートのようなものを作成することは可能ですか?

<div class="leader"> 
    <div class="person"> 
     <div class="firstname">{{leader.firstName}}</div> 
     <div class="lastname">{{leader.lastName}}</div> 
    </div> 
</div> 
<div class="people"> 
     <div *ngFor="let person of people" class="person"> 
      <div class="firstname">{{person.firstName}}</div> 
      <div class="lastname">{{person.lastName}}</div> 
     </div> 
</div> 

のようなものを持っているが、全体のコンポーネントを作成することなく、このコード

<div class="person"> 
    <div class="firstname">{{person.firstName}}</div> 
    <div class="lastname">{{person.lastName}}</div> 
</div> 

を再利用することが可能ですか?例えば

では、関数はあなたがngTemplateContainerを使用することができます。ここでngのテンプレート

plunkerあるこの

function renderPerson(person){ 
    return (
    <div class="person"> 
     <div class="firstname">person.firstName</div> 
     <div class="lastname">person.lastName</div> 
    </div> 
    ); 
} 
+1

コンポーネントを必要とするあなたたくリユースHTML場合、私は、それが可能だとは思わない、それを行うのは本当に簡単かつ高速です: 'NGのG成分が' @inputを追加person'( )person:Person; '、あなたのhtmlをコピーして貼り付けてください。 – Ploppy

+0

うまくいかないのか分かりませんが、コンポーネントb templateUrlで同じHTMLファイルをターゲットにしようとしました: '../a/a.component.html' :) – Whisher

答えて

2

のために使用することができる反応します。

<ng-template #reusable let-person="person"> 
{{person.firstName}} - {{person.lastName}} 
</ng-template> 

<h3>Leaders</h3> 

<div *ngFor="let leader of leaders"> 
    <ng-container *ngTemplateOutlet="reusable; context:{person: leader}"></ng-container> 
</div> 

グレート記事here

関連する問題