Ionic 2/3: Runtime Error: Property undefined
首先我在 macOS 上使用 Ionic 3.x。
我正在尝试将一些数据推送到数组中。
在我定义的导出类中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | export class HomePage { tables: any[] //... addTable(){ let prompt = this.alertCtrl.create({ title: 'Add Table', subTitle: 'Enter the table number', inputs: [{ name: 'tableNumber', placeholder: 'Number', type: 'number' }], buttons: [ { text: 'Cancel' }, { text: 'Add', handler: data => { let table = { number: data.tableNumber, name: 'occupied' } alert('Success'); this.tables.push(table); } } ] }); } |
当我在 Ionic 实验室测试应用程序并添加一个表时,它给了我错误:运行时错误
_this.tables 未定义。
会显示"成功"警报,因此应用程序在 this.tables.push(table); 处崩溃; ,但我不知道为什么。
由于 Ionic 使用 Typescript,因此了解声明属性类型和为属性赋值之间的区别非常重要。
做
因为它是未定义的,当你尝试使用它调用
要解决这个问题,请将
1 | public tables: any[] = []; |
1 | tables: any[] |
把它改成
1 | tables: any=[]; |