我在我的DataComponent中有一个数组,并希望通过服务将'string4‘注入到我的ConsumeComponent:
export class DataComponent {
mystring: string = '';
constructor(private myService: myService) {}
data = [
{
string1: '',
string2: '',
string3: '',
string4: ''
}
];
consumefunction() {
this.mystring = this.data.values['string4'];
this.myService.anotherfunc(this.mystring);
}
}但是,我没有访问对象'string4‘的行:
this.data.values['string4'];发布于 2018-01-17 15:57:15
data是一个对象数组,如果要从数组中的对象检索属性,则需要执行以下操作:
this.data将为您提供定义为数组的data对象,即用[ ]封装的代码。this.data[0]将为您提供数组的第一个对象。在您的示例中,只有一个代码,即用{ }封装的代码。this.data[0].string4将从第一个对象中获得您想要的属性。简言之:
this.mystring = this.data[0].string4;发布于 2018-01-17 15:57:04
代码有两个问题。一个是data是构造函数中的局部变量,而不是类中的成员变量,因此不能通过this.data访问它。第二个问题是数据中缺少value字段。
通过以下更改,您应该能够访问它
export class DataComponent {
mystring: string = '';
constructor(private myService: myService) {}
// change this line
this.data = {
values: {
string1: '',
string2: '',
string3: '',
string4: ''
}
};
consumefunction () {
this.mystring = this.data.values['string4'];
this.myService.anotherfunc(this.mystring);
}}
https://stackoverflow.com/questions/48304988
复制相似问题