.htmlIdentifier bezieht sich auf ein privates Mitglied der Komponente
<offline-picks *ngFor="let pick of pickData" [data]="pick"></offline-picks>
.ts
export class OfflineArticlesPage {
private pickData: picksModel[] = [];
constructor(private localCacheService: LocalCacheServiceProvider) {
}
}
Wenn ich die private member
verwendet, wie oben gezeigt, zeigt er unter error.I'm mit Angular Language Service Erweiterung auf VS code
Editor.
[Angular] Identifier 'pickData' bezieht sich auf ein privates Mitglied der Komponente
Hoffnung private members
im Inneren des Bauteils keine ist guter Programmierstil verwendet? Aber als eine Lösung für das obige Problem wurde als below comment on the extension's repo gegeben.
Der Sprachdienst gibt diese Fehler aus, da sie während AOT Fehler sind. Irgendwann müssen Sie diese auflösen.
Wir haben geplant, den Zugang zu privaten und geschützten Mitgliedern in AOT zu unterstützen, aber das wird nicht bis mindestens 6.0 (Frühling des nächsten Jahres) landen.
Also können Sie mir sagen, was der beste Weg ist, Mitglieder auf den Komponenten zu deklarieren?
Update:
Ich benutze ionic cordova run android --prod --device
CLI-Befehl mit den neuesten Ionic "ionic-angular": "3.5.3",
.Aber es schön auf meinem Android device.That arbeitet, bedeutet es funktioniert gut mit dem AOT
auch nicht? Warum dann dieser Fehler (oder eigentlich eine Warnung)?
Die Warnung ist, weil 'private' Eigenschaften nur innerhalb der Komponente verwendet werden, sind sie definiert. Wenn Sie eine Eigenschaft in der Ansicht (und damit außerhalb dieser Komponente) verwenden möchten, müssen Sie sie als public deklarieren. Die Verwendung von 'privaten' Eigenschaften in den Ansichten ist also keine gute Übung. – sebaferreras
Eigentlich ist dies ein Problem mit 'AoT'. Sie können eine große Diskussion darüber auf dem Link der folgenden Antwort sehen. Es war eine riesige Diskussion und große auch zu @sebaferreras – Sampath