Я обнаружил, что могу использовать https://angular.io/guide/aot-compiler#macro-functions-and-macro-static-methods для повторного использования фрагментов HTML в шаблонах. См. Как я могу повторно использовать HTML в нескольких местах без дополнительного компонента .
import { Component, OnInit } from '@angular/core'; import { someMacro } from 'somewhere'; @Component({ selector: 'my-app', template: ` <h3>${someMacro()}</h3> <button (click)="onClickAddChild()">Click to add component</button> ` }) export class AppComponent { onClickAddChild() { console.log("add child"); } }
Однако это работает, только если я использую встроенный компонент template. Можно ли в любом случае использовать templateUrl, но по-прежнему предоставлять доступ к функциям макросов, таким как myMacro() выше?
template
templateUrl
myMacro()