Решение было сделать так, как сказал пользователь 184994, но с иконкой все было немного иначе.
Напомним: попытка создать элемент кнопки, который можно использовать с другим текстом, значками и вызовами методов:
Я упростил свой файл button.ts, чтобы больше не использовать массив возможных значений:
export class ButtonComponent implements OnInit {
@Input() btnTxt: string;
@Input() btnIcon: string;
и ссылка <app-button>
вместо кнопки, как указано пользователем @ user184994.
Также от пользователя 184994, я правильно ссылался на мои атрибуты и переменные.
В моем файле 'other-page.component.html' ( обратите внимание на двойные и одиночные вложенные кавычки , чтобы избежать установки значения атрибута в other-page.comnponent. ts вместо возможности доступа к значениям из файла компонента кнопки ts). «add_circle» - это имя иконки:
<app-button-with-icon [btnTxt]="'hello'" [btnIcon]="'add_circle'">
</app-button-with-icon>
И, наконец, мой button.component.html, как показано ниже. Одна из проблем, с которыми я столкнулся, заключалась в возможности указать значок во время использования кнопки, я не мог поместить разметку значка в шаблон другой страницы, но вместо этого мне пришлось поместить разметку в шаблон компонента кнопки и сослаться на пустая строковая переменная, затем установите значение в шаблоне, где используется кнопка (см. предыдущий фрагмент кода).
<button mat-button class="form-control primary">
<mat-icon>{{btnIcon}}</mat-icon>
{{btnTxt}}
</button>