如何为角度2组件提供多个视图\视图模板?
我必须使用ng内容吗?这不是我想要的功能。可能是指定模板URL的组件属性,但如何更改组件类中的view\template?

最佳答案

今天也要考虑这个问题。我发明了这个解决方案。也许它会在将来帮助你。

export class MyModel {
  lala;
  constructor() {
    this.lala = "llaala";
  }
  appendToLala(param: string){
    this.lala += param;
  }
}

@Component({
  selector: 'c1',
  template: `<div><h2>Hello {{lala}}</h2></div>`,
})
export class Component1 extends MyModel {
  constructor(){
    super();
    this.appendToLala(" bebebe");
  }
}


@Component({
  selector: 'c2',
  template: `<div><h2>Hello {{lala}}</h2></div>`,
})
export class Component2 extends MyModel {
  constructor(){
    super();
    this.appendToLala(" nenene");
  }
}

其思想是创建一个抽象的组件模型,并将其用作@component的父级。如果需要,您可以从模型创建一个树,@component类将始终是树中的一个叶。

10-06 03:53