Переопределение HTML-шаблона библиотечного компонента в angular 7

#angular #templates #overriding

#угловатый #шаблоны #переопределение

Вопрос:

Я создал проект библиотеки angular, который используется для визуализации простой формы входа в систему компонента — это горизонтальная форма начальной загрузки.

Я использую эту библиотеку в своем другом проекте Angular, который работает нормально.

но я хочу изменить макет HTML-компонента библиотеки, и я не хочу вносить изменения непосредственно в проект библиотеки.

В angular мы можем переопределить функцию через вызов super() в конструкторе, но как переопределить HTML-шаблон?

Ответ №1:

Вы можете создать новый класс, который является производным от вашего библиотечного компонента, и объявить новый @Component декоратор, любые новые метаданные компонента будут перезаписывать все предыдущие метаданные.

 import { LibraryComponent } from 'library';

@Component {
  templateUrl: 'my-new-template.html'
}
export class MyNewComponent extends LibraryComponent {
  //
}
 

Источник: https://medium.com/@gerard.sans/angular-2-new-features-in-angular-2-3-f2e73f16a09e