Я пытаюсь изучить Angular 2, поэтому я делал несколько примеров hello world
.
Вот мой код:
boot.ts
import {bootstrap} from 'angular2/platform/browser'
import {AppComponent} from './app.component'
import {DataService} from './app.dataservice'
bootstrap(AppComponent, [DataService]);
index.html
...
<body>
<hello-world>Loading...</hello-world>
<hello-world>Loading...</hello-world>
</body>
...
app.component.ts
import {Component} from 'angular2/core';
import {DataService} from './app.dataservice'
@Component({
selector: 'hello-world',
template: '<h1>Hello {{ item }}</h1>'
})
export class AppComponent {
items: Array<number>;
item: number;
constructor(dataService: DataService) {
this.items = dataService.getItems();
this.item = this.items[0];
}
}
app.dataservice.ts
export class DataService {
items: Array<number>;
constructor() {
this.items = [1,2,3];
}
getItems() {
return this.items;
}
}
Код работает нормально, поскольку первый hello-world
пользовательский тег корректно отображается с кодом внутри ts
. Однако второй hello-world tag is not transformed
. Отображается только один пользовательский элемент.
Не может быть более одного пользовательского тега? Как я могу это сделать?
ИЗМЕНИТЬ
Я добавил новый импорт внутри app.components.ts
import {ByeWorld} from './app.byeworld';
и app.byeworld.ts
import {Component} from 'angular2/core';
@Component({
selector: 'bye-world',
template: '<h1>Bye World</h1>'
})
export class ByeWorld {
constructor() {
}
}