Работа с компонентами

ng-content

Элемент ng-content позволяет внедрять родительским компонентам код html в дочерние компоненты. Так, изменим компонент ChildComponent следующим образом:

import { Component } from '@angular/core';

@Component({
    selector: 'child-comp',
    template: `<ng-content></ng-content>
                <p>Привет {{name}}</p>`,
    styles: [`h2, p {color:navy;}`]
})
export class ChildComponent { 
    name= "Евгений";
}

Вместо элемента<ng-content>извне можно будет передать любое содержимое.

И изменим код главного компонента AppComponent:

import { Component } from '@angular/core';

@Component({
    selector: 'my-app',
    template: `<child-comp><h2>Добро пожаловать {{name}}!</h2></child-comp>`,
    styles: [`h2, p {color:#333;}`]
})
export class AppComponent { 
    name = 'Tom';
}

В элемент<child-comp> здесь передается заголовок <h2>Добро пожаловать {{name}}!</h2>. Затем этот заголовок будет вставляться в дочерний компонент ChildComponent на место <ng-content>.

Причем управлять разметкой, которая вставляется в <ng-content>, будет управлять AppComponent. Поэтому именно этот компонент задает стили и выражения привязки для вставляемого куска html.

results matching ""

    No results matching ""