ERROR TypeError: Cannot set property 'items' of null
Dies ist das Ergebnis von:Ionic 3 Wert Geolokalisierung Bindung
</ion-card>
<button ion-button round outline
(click)="logEvent($startTrackingButton)">Start tracking me</button>
<ion-card>
<ion-item>
<h2>Locations:</h2>
<ion-list no-lines>
<h3 ion-item *ngFor="let item of items" (click)="itemSelected(item)">
{{ item }}
</h3>
</ion-list>
</ion-item>
</ion-card>
</ion-content>
(In Component.html), jetzt für seine .ts-Datei:
logEvent1(TrackNowButton) {
/*Initializing geolocation*/
// onSuccess Callback
// This method accepts a Position object,
// which contains the
// current GPS coordinates
var onSuccess = function(position) {
this.items = ([{
key: "1", value: {
Latitude: position.coords.latitude,
Longitude: position.coords.longitude
}
}, {
key: "2", value: {
Altitude: position.coords.altitude,
Accuracy: position.coords.accuracy
}
}, {
key: "3", value: {
Altitude_Accuracy: position.coords.altitudeAccuracy,
Heading: position.coords.heading
}
}, {
key: "4", value: {
Speed: position.coords.speed,
Timestamp: position.timestamp
}
}]);
};
// onError Callback receives a PositionError
// object
function onError(error) {
console.log('code: ' + error.code + '\n' + 'message: ' + error.message + '\n');
}
navigator.geolocation.getCurrentPosition(onSuccess, onError);
}
itemSelected(item: string) {
console.log("Selected Item", item);
}
Ich hoffe, das lesbar ist ... Ich weiß nicht, was ich an der Datenbindung falsch mache, weil ich glaube, der Fehler ist ... Ich glaube auch, dass etwas mit dem Teil in der .ts-Datei, wo ich wrote: this.items = (...) wie ich denke dass der Wert nicht an das HTML oder etwas gebunden werden kann. Ich arbeite an einem kleinen Programm, das Bewegungen immer wieder verfolgt und sie mit den gegebenen Parametern protokolliert. Später möchte ich Mapbox-Unterstützung hinzufügen, aber ich muss zuerst einige Fehler beheben.
Ich habe meine Antwort modifiziert, um Objekte als Strings zu definieren. – ConnorsFan