Angulaire 4 s'étendent de la base de composant

J'ai un Composant de Base qui est prolongée par son enfant, mais lorsque nous créons une nouvelle Composante Angulaire à l'aide angulaires-cli, il crée des fichiers html et css, mais je ne vais pas utiliser ces fichiers à partir du composant de base.

Est-il un moyen de créer un Composant de Base, sans html et css?

import { Component, OnInit, Input } from '@angular/core';

@Component({
  selector: 'app-base',
  templateUrl: './base.component.html', //I dont need this
  styleUrls: ['./base.component.css'] ////I dont need this
})
export class BaseComponent implements OnInit {

  constructor() {}

  ngOnInit() {}

}


import { Component } from '@angular/core';

import { BaseComponent } from '../base/base.component';

@Component({
  selector: 'app-child',
  templateUrl: './child.component.html',
  styleUrls: ['./child.component.css']
})
export class ChildComponent extends BaseComponent {

  constructor() {
    super();
  }

  ngOnInit() {
  }

}
  • Omettre @Component annotation dans le composant de base. Mais je soupçonne que vous pourriez être en train de faire quelque chose de mal, en général. Pourquoi voulez-vous d'avoir un composant de base en premier lieu?
  • Parce que je veux partager certaines des variables et des méthodes qui sont communs à tous les composants enfants.
  • Merci, maintenant ça fonctionne. J'ai enlevé @Composant et de le retirer à partir de déclarations de module.
  • Je recommanderais un service global que vous importez dans chaque composante, beaucoup plus propre
  • appelez-vous fournir un exemple?
  • stackoverflow.com/questions/43991306/... ce serait un excellent exemple de ce que je veux dire, il y
  • Je vous suggère d'utiliser un composant de base de la classe, mais uniquement si toutes les sous-classes sont en cours pour utiliser toutes les méthodes et les champs définis dans la classe de base. Sinon vous allez vous retrouver avec beaucoup de code mort quand il est compilé en JS.
  • Pouvez-vous nous expliquer ce que vous entendez par code mort? Je crois qu'il ya une raison pourquoi nous avons héritage. Je ne comprends pas pourquoi aujourd'hui Angulaire et de Réagir de la bibliothèque des auteurs ne se soucient pas tant que ça!

InformationsquelleAutor brazuka | 2018-03-16