Передать переменную в пользовательский компонент

У меня есть пользовательский компонент:

@Component({
    selector: 'my-custom-component',
    templateUrl: './my-custom-component.html',
    styleUrls: ['./my-custom-component.css']
})
export class MyCustomComponent {
    constructor() {
        console.log('myCustomComponent');
    }
}

Я могу использовать это так:

<my-custom-component></my-custom-component>

Но как я могу передать переменную? Например:

<my-custom-component custom-title="My Title"></my-custom-component>

И использовать это в моем компоненте кода?

2 ответа

Решение

Вам нужно добавить Input свойство вашего компонента, а затем используйте привязку свойства, чтобы передать ему значение:

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

@Component({
    selector: 'my-custom-component',
    templateUrl: './my-custom-component.html',
    styleUrls: ['./my-custom-component.css']
})
export class MyCustomComponent {

    @Input()
    customTitle: string;

    constructor() {
        console.log('myCustomComponent');
    }

    ngOnInit() {
        console.log(this.customTitle);
    }
}

И в вашем шаблоне:

<my-custom-component [customTitle]="yourVariable"></my-custom-component>

Для получения дополнительной информации, проверьте эту страницу.

Вы можете добавить @Input() декоратор для свойства вашего компонента.

export class MyCustomComponent {
    constructor() {
        console.log('myCustomComponent');
    }

    @Input() title: string;
}


<my-custom-component title="My Title"></my-custom-component>

или привязка заголовка из переменной 'theTitle'

<my-custom-component [title]="theTitle"></my-custom-component>

Увидеть @Input() оформительская документация.

Другие вопросы по тегам