私は、それ自体が People の配列を持つ Queue を持っています。Queue 内から、person テンプレートで定義されている各 Person を表示したいと思います。
queue.ts
import {Component} from 'angular2/core';
import {Person} from '../person/person';
@Component({
selector: 'queue',
directives: [Person],
template: `<div class="queue">
<person *ngFor="#tP of people"></person>
</div>`
})
export class Queue {
people = [];
constructor(){
this.addPerson(new Person("Bob",20));
this.addPerson(new Person("Jane",30));
this.addPerson(new Person("Dog",40));
this.addPerson(new Person("Cat",50));
};
addPerson(tP:Person):void
{
this.people.push(tP);
}
}
person.ts
import {Component} from 'angular2/core';
@Component({
selector: 'person',
template: `<div class="person">
<div class="name">{{name}}</div>
<div class="age">{{age}}</div>
</div>`
})
export class Person {
constructor(public name:string = "", public age:number = 5){};
setName(newName:string):void{
this.name = newName;
}
}
私が望むもの
<div class="queue">
<div class="person"><div class="name">Bob</div><div class="age">20</div></div>
<div class="person"><div class="name">Jane</div><div class="age">30</div></div>
<div class="person"><div class="name">Dog</div><div class="age">40</div></div>
<div class="person"><div class="name">Cat</div><div class="age">50</div></div>
</div>
私が得るもの
例外: String のプロバイダはありません! (人 -> 文字列) in [Queue@1:16 の人物]
概要
ディレクティブ自体で定義されたテンプレートを使用して、ディレクティブのリストをレンダリングしたいと思います。