Я видел рабочие примеры, когда <ng-content>
используется в других вложенных компонентах (например, здесь http://plnkr.co/edit/Hn393B9fJN6zgfaz54tn), но мне не удалось запустить его внутри корневого компонента Angular2:
HTML-шаблон:
<html>
<body>
<app>
<h1>Hello, World!</h1>
</app>
</body>
</html>
Angular2 в typescript:
import {Component, View, bootstrap} from 'angular2/angular2';
@Component({
selector: 'app'
})
@View({
template: 'Header: <ng-content></ng-content>',
})
export class App {
}
bootstrap(App);
Я ожидаю, что это сгенерирует:
<app>
Header: <h1>Hello, World!</h1>
</app>
но это не так, и содержимое <app>
игнорируется. См. Демонстрацию на Plunker http://plnkr.co/edit/dJlA4SQpy8pnrdyDiy9u.
Я подумал, что, может быть, это снова связано с какой-то философией Angular2 или чем-то, что даже не поддерживается, но мой пример использования очень похож на первую рабочую демонстрацию, я думаю.