Ich versuche, meine Anwendung zu rationalisieren, indem Sie eine einzelne Vorlage verwenden, um auf ein benutzerdefiniertes Element zu verweisen, und dann den Inhalt über den Eigenschaftsdecorator @Input() angeben. Die Methode, die ich benutze, funktioniert nicht und ich bin nicht sicher, warum, mein Code wie folgt:Ändern von CSS über @Input in Angular 2/4
Component.ts
import { Component, OnInit, Input } from '@angular/core';
@Component({
selector: 'side-menu-option',
templateUrl: './side-menu-option.component.html',
styleUrls: ['./side-menu-option.component.css']
})
export class SideMenuOptionComponent implements OnInit {
@Input() icon: string; // Inputs
@Input() text: string;
constructor() { }
ngOnInit() {
}
}
Component.html
<button class="buttons button-style btn-block" type="button"><i class="mdi mdi-{{icon}}"></i><span class="menu-text">{{text}}</span></button>
OtherComponent.html
<div class="side-nav text-center">
<div class="side-nav-container">
<img class="avatar" src="http://placehold.it/150x150">
<side-menu-option [icon]="home" [text]="Home"></side-menu-option>
<side-menu-option [icon]="file-document" [text]="Documents"></side-menu-option>
</div>
</div>
[Symbol] und [Text] werden aus irgendeinem Grund nicht erkannt und ich bin nicht sicher warum. Es hat funktioniert, bevor ich versucht habe, es zu refaktorisieren, aber aus irgendeinem Grund werden diese Eingänge nicht geladen.
Dank
Wow, ich fühle mich albern. Ich werde dies versuchen, danke! –