我想宣布&实例化一个对象类型的属性,如下所示:
export class HomePage {
@ViewChild('acc') accCanvas;
@ViewChild('gyro') gyroCanvas;
charts: {
accChart: any ,
gyroChart: any ,
}; // problem
acc: any; // latest accelerometer data
gyro: any; // latest gyro data
logState: string = 'Start'; // button state
stateColor: string = 'primary'; // button color
logs: any[] = []; // will hold history of acc + gyr data
acc,gyro等所有变量都运行良好,我可以在函数中将它们引用为this.xxxx
。但是,我无法引用this.charts.accChart
或this.charts.gyroChart
- 它们返回未定义。任何人都可以建议如何声明和初始化图表对象属性?
答案 0 :(得分:2)
charts: { accChart: any, gyroChart: any }
只是一种类型声明。它描述了charts
成员的形状。如果您想立即访问其子级,则需要对其进行初始化:
charts: {
accChart: any,
gyroChart: any
} = {
accChart: void 0, // or choose an initial value other than undefined
gyroChart: void 0 // or choose an initial value other than undefined
};
尽可能避免使用any
类型。请改用TypeScript的类型,您自己的类型或库类型。