Ich übe Typoskript mit eckigen, und ich muss sehen, wie man mit 3 verschiedenen Methoden arbeiten, um eine Instanz zu erstellen. Ich habe wie im Beispiel-Eckig-Held-Tutorial die erste Instanz erstellt: held1, aber ich verstehe nicht, dass held2 und held3 funktionieren. Ich versuche, den Namen des Helden 3 auf die Vorlage zu drucken.angular4 typescript Klassen, 3 Methoden, um eine Instanz zu erstellen, Tutorial Held
der Code:
app.component.js
import { Component } from '@angular/core';
export class Hero {
id: number;
name: string;
}
hero: Hero = {
id: 1,
name: 'Flash'
}
@Component({
selector: 'my-app',
template: `<h1>{{title}}</h1><h2>Hero1: {{hero.name}} , Hero2: {{hero2.name}} , Hero3: {{hero3.name}}</h2>`,
})
export class AppComponent {
public hero2: Hero;
public hero3;
title = 'Tour of Heros';
ngOnInit() {
this.hero2 = {
id: 2,
name: 'Superman'
};
this.hero3 = new (3, 'Spiderman') ;
}
}
Hier ist der Code gelöst mit 3 Methoden (dank der Antworten):
import { Component } from '@angular/core';
export class Hero {
id: number;
name: string;
constructor(id: number, name: string) {
this.id = id;
this.name = name;
}
}
@Component({
selector: 'my-app',
template: `<h1>{{title}}</h1><h2>Hero1: {{hero.name}} , Hero2: {{hero2.name}} , Hero3: {{hero3.name}}</h2>`,
})
export class AppComponent {
hero: Hero = {
id: 1,
name: 'Flash'
}
title = 'Tour of Heros';
public hero2: Hero;
public hero3: Hero;
ngOnInit() {
this.hero2 = {
id: 2,
name: 'Superman'
};
this.hero3 = new Hero (3, 'Spiderman') ;
}
}
diese 'this.hero3 = new (3, 'Spiderman');' ist keine gültige Syntax. Vielleicht möchtest du einen neuen 'Helden' instanziieren? Also wäre es das folgende: 'this.hero3 = neuer Held (3, 'Spiderman');' ... und du musst auch den Konstruktor für 'Hero' * class * definieren. – developer033