Ich lerne nur eckig Tag für Tag. Ich lerne gerade eckige Dienste und ich bin wirklich verwirrt über etwas, das mich verwirrt und ich kann es nicht verstehen.So rufen Sie eine Methode im Winkel Service
Hier ist der Code.
Servicecode
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
@Injectable()
export class DataService {
private goals = new BehaviorSubject<any>(['The initial goal','Another silly life goal']);
goal = this.goals.asObservable();
constructor() { }
changeGoal(goal_param) {
this.goals.next(goal_param)
}
}
Startseite Komponentencode
ngOnInit() {
this.itemscount = this.goals.length;
this._data.goal.subscribe(res => this.goals = res);
this._data.changeGoal(this.goals);
}
Startseite Komponente Template-Code
<div class="container color-dark">
<div class="col">
<p>Add a bucket list item</p>
</div>
<div class="col">
<p>Your bucket list ({{itemscount}})</p>
</div>
</div>
<div class="container color-light">
<div class="col">
<p class="sm">Use this form below to add a new bucket list goal. What do you want to accomplish in your life?</p>
<form>
<input type="text" class="txt" name="item" placeholder="{{goalText}}" [(ngModel)]="goalText">
<br><span>{{ goalText }}</span><br>
<input type="submit" class="btn" [value]="btnText" (click)="additem()">
</form>
</div>
<div class="col">
<p class="life-container" *ngFor = "let goal of goals; let i = index" >
<input type="text" value=" {{ goal }}" #goalInput disabled>
<span class="edit_btn" (click)="edititem(i)" #goalbtn>Edit</span>
<span class="delete_btn" (click)="removeitem(i)">Delete</span>
</p>
</div>
</div>
Nun ist die Hauptsache ist, diese Linie, die mich ist verwirrend Was dieses „Ziel "Eigentum tut? Wir verwenden diese Eigenschaft nicht irgendwo in Service-Datei, aber wenn ich diese "Ziel" -Eigenschaft Winkel entfernen gibt mir einen Fehler, so dass ich verwechsele, was ist die Verwendung ??
goal = this.goals.asObservable();
Die zweite Sache ist, ich bin vorbei goal_param von zu Hause Komponente und es in Service-Datei empfangen, aber immer noch die gleiche Frage, wenn ich entfernen „Ziel“ Eigenschaft diese Funktion nicht funktionieren. Was hat diese Funktion mit der Eigenschaft "Ziel" zu tun?
changeGoal(goal_param) {
this.goals.next(goal_param)
}
Ich weiß, es ist eine grundlegende Frage, aber wenn mir jemand dabei helfen wird zu verstehen, dann werde ich auf mein Lernen motiviert sein.
Vielen Dank im Voraus.
Sie haben Ihren Vorlagencode (HTML) für die Komponente nicht angezeigt. HTML-Vorlagen können auf öffentliche Komponentenvariablen zugreifen (wie "Ziel"). Können Sie diese Datei auch hinzufügen? – Pace
@Pace überprüfen Sie es bitte. Ich habe die HTML-Vorlage hinzugefügt. – dev