如何从angular 4中的父组件继承模板?

如何从angular 4中的父组件继承模板?,angular,Angular,如何从angular 4中的父组件继承模板?大多数材质都可以这样替代父零部件: import { Component } from '@angular/core'; import { EmployeeComponent } from './employee.component'; @Component({ selector: 'app-employee-list', template: ` <h1>{{heading}}</h1> <ul&

如何从angular 4中的父组件继承模板?大多数材质都可以这样替代父零部件:

import { Component } from '@angular/core';
import { EmployeeComponent } from './employee.component';

@Component({
  selector: 'app-employee-list',
  template: `
    <h1>{{heading}}</h1>
    <ul>
      <li *ngFor="let employee of employees">
        {{employee.firstName}} {{employee.lastName}} <br>
        {{employee.email}} <br>
        <button (click)="selectEmployee(employee)">Select</button>
      </li>
    </ul>
  `
})
export class EmployeeListComponent extends EmployeeComponent {
  heading = 'Employee List';
}
从'@angular/core'导入{Component};
从“/employee.component”导入{EmployeeComponent};
@组成部分({
选择器:“应用程序员工列表”,
模板:`
{{heading}}
    {{employee.firstName}{{employee.lastName}}
    {{employee.email}}
    挑选
` }) 导出类EmployeeListComponent扩展了EmployeeComponent{ 标题=‘员工名单’; }

但是我想从EmployeeComponent继承模板,而不是用我自己的自定义版本覆盖它。如何做到这一点

因为您有一个子组件,所以可以将其放在父组件的目录中,并为其提供一个引用父组件的URL

@Component({
  selector: 'app-child',
  templateUrl: '../parent.component.html',
  styleUrls: ['../parent.component.scss']
})

若你们想给父模板添加一些东西,你们可以加上它

@Component({
  selector: 'child',
  template: require('/path/to/child-template.html') + require('/path/to/parent-template.html')
})

(它正在使用网页包)

你不能。Angular不是为了扩展组件而构建的,典型的模式是组合组件。我认为您可以使用父子交互,您希望通过这样做实现什么?正如LakinduGunasekara已经建议的,它可以用于组件之间的交互,也可以使用服务。@IngoBürk实际上是为了扩展组件而构建的。您不能扩展父级的模板和样式,但您拥有的是组件继承(输入、输出、主机绑定等),这有时非常有用。很明显,但我没有想到这一点。谢谢,我同意。模板未被继承。但是,如果我们想使用相同的精确模板,我们可以直接加载该精确模板。它不适用于Angular v11,这需要在webpack中配置html加载程序。不幸的是,Pug(ex-Jade)模板引擎可能是包含部分模板的解决方案(请检查此处的tutoria:),但是,Angular的Pug加载程序不支持模板继承。。。