問題の解決方法を見つけるためにthis post(およびthis oneも)行っています。Ionic3、Typescript - Typescriptエラーを無視する "プロパティ"がタイプ '' "の値に存在しません
私はこれらのエラーを無視する:
Property 'payload' does not exist on type 'Matatu'.
Property 'key' does not exist on type 'Matatu'.
私は型システム「オーバーライド」に変数を宣言しようとしましたが、それは働いていません。ここで
私.ts
コードであり、そして私がこれまで試みられてきた:
export interface Matatu {
$key?: string;
matNumberPlate: string;
matSacco: string;
matDriver: string;
matAccessCode: string;
matStatus: string;
matTracker: string;
matLocation: string;
}
私は任意の型にプロパティをキャストするにはどうすればよい:
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams, ActionSheetController } from 'ionic-angular';
import { AngularFireList, AngularFireDatabase } from 'angularfire2/database';
import { Matatu } from '../../models/matatu/matatu.interface';
/* imports */
declare var payload;
declare var key;
@IonicPage()
@Component({
selector: 'page-owner-dash',
templateUrl: 'owner-dash.html',
})
export class OwnerDashPage {
matatuListRef$: AngularFireList<Matatu>;
matatuListAsync$: any;
constructor(public navCtrl: NavController, public navParams: NavParams, private database: AngularFireDatabase, public actionShtCrtl: ActionSheetController) {
this.matatuListRef$ = this.database.list('matatu-list');
this.matatuListAsync$ = this.matatuListRef$.snapshotChanges();
}
ionViewDidLoad() {
//stuff
}
selectMatatu(matatu: Matatu){
this.actionShtCrtl.create({
title: `${matatu.payload.val().matNumberPlate}`,
buttons: [
{
text: 'Edit',
handler:() => {
//stuff
}
},
{
text: 'Delete',
role: 'destructive',
handler:() => {
this.matatuListRef$.remove(matatu.key);
}
},
{
text: 'Cancel',
role: 'cancel',
handler:() => {
//do something
}
}
]
}).present();
}
}
はここMatatu
構造です?
「Matatu」タイプの定義を追加してください。 – sebaferreras
これはインターフェースです。そこにそれがある。 – kenyami