Ich bin neu sowohl Angular 2 und Typoskript.Angular typescript
Dies ist meine Track-Komponente, wo ich die Spur von api.
import { Component, ViewEncapsulation, OnInit, OnDestroy } from
'@angular/core';
import { ActivatedRoute } from '@angular/router';
import * as moment from 'moment';
import { TrackService } from './track.service';
import { Track } from './track.model';
import { Response } from '@angular/http';
@Component({
selector: 'da-article',
templateUrl: './track.html',
styleUrls: ['./track.scss'],
encapsulation: ViewEncapsulation.Emulated,
providers: [TrackService]
})
export class TrackComponent implements OnInit, OnDestroy {
private track: Track;
private error: Response;
private isLoading: boolean = true;
private releasedTrack: string = moment("2013-03-10T02:00:00Z").format('DD-MM-YYYY');
private duration: string = moment(345678).format("m:ss");
constructor(
private route: ActivatedRoute,
private trackService: TrackService
) {
}
ngOnInit(): void {
let TrackId = this.route.snapshot.params['trackId'];
this.trackService.getAll().subscribe(
(data) => this.track = data[TrackId],
(error) => this.error = error,
() => this.isLoading = false
);
}
ngOnDestroy(): void {}
}
in diesen Leitungen
private releasedTrack: string = Moment. ("2013-03-10T02: 00: 00Z") Format ('DD-MM-YYYY'); private duration: string = moment (345678) .format ("m: ss");
Ich möchte {this.track} anstelle von hardcoded Wert übergeben.
This.track ist nicht definiert, (da es nicht verfügbar ist)
Wie kann ich das erreichen?
Dank
In der Tat, 'this.track' ist nicht zur Objektaufbauzeit verfügbar. Sie müssen es später in 'ngOnInit' machen, wenn' this.track' verfügbar wird. – deceze