具有多个 View 的 Angular 2 组件

标签 angular

如何为 Angular 2 组件提供多个 View \ View 模板?

我必须使用 ng-content 吗?这不完全是我想要的功能。也许是指定模板 url 的组件属性,但是如何更改组件类中的 View \模板?

最佳答案

今天也在思考这个问题。我“发明”了这个解决方案 http://plnkr.co/edit/FYVwbBwSnqWRcvAVz3wh?p=preview .可能对你有帮助。

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 类将始终是这棵树中的一片叶子。

关于具有多个 View 的 Angular 2 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31847001/

相关文章:

angular - 没有 webpackJsonp 的独立自定义 webpack 配置

typescript - Angular 2 : How to pass route parameters to subroute?

javascript - 如何在没有ngClick的情况下将值作为参数传递给Angular2中onclick内部的函数调用?

Angular-cli:设置代理来处理前往另一个域的复杂请求的问题

angular - 单击事件发生时如何对下拉菜单进行单元测试

CSS 更改未反射(reflect)在 Angular 5 中

angular - Highcharts Angular 动态更新

angular - 错误 - 如果 : The results are not as expected

angular - 具有服务网关调用的 SSO 身份验证 Angular 应用程序

json - Angular 5,rxjs 映射到 json,类型“对象”上不存在 'json'