Mar*_*rio 9 arrays object typescript angular
我有一个对象数组,当我尝试访问它时,我收到一条错误消息:
类型错误:无法设置未定义的属性“ID”
我的代码如下:
export class Carimplements OnInit {
pieces: Piece[] = [];
test(pos){
this.pieces[pos].ID = "test";
}
}
Run Code Online (Sandbox Code Playgroud)
成为一个对象
export class Piece{
ID: string;
doors: string;
}
Run Code Online (Sandbox Code Playgroud)
我test(pos)
从具有有效位置的 HTML调用。
我想我正在尝试访问尚未初始化的数组的位置 X。我怎么能做到?是否可以创建构造函数?
mar*_*tin 13
在 TypeScript 中定义数组类型的正确语法是这样的:
pieces: Piece[] = [];
Run Code Online (Sandbox Code Playgroud)该错误是运行时错误。当你运行你的应用程序时,你有一个空数组pieces
(但变量仍然用 初始化[]
)但是你调用test(whatever)
它试图访问一个whatever
不存在的数组元素。
例如,您可以这样做:
pieces: Piece[] = [{
ID: '1',
doors: 'foo'
}];
Run Code Online (Sandbox Code Playgroud)
然后使用test(0)
.
归档时间: |
|
查看次数: |
41938 次 |
最近记录: |