我有一个这样的对象:
var newService = new Service({
name: service.name,
description: service.description,
supplier: service.supplier,
price: service.price,
info_requires: []
});
这是模态Service
var serviceSchema = new Schema({
name: String,
description: String,
supplier: String,
price: Number,
info_requires: [{
name: String,
type: Number, // 1-text 2-combobox 3-textarea
limit: []
}],
});
这是我的数据:
var services = [{
name: "Test",
description: "Des",
supplier: "Sup",
price: 123,
icon: "icon",
type: 1,
open: 1,
info_requires: [
{
name: "Age",
type: 1,
limit: []
},
{
name: "Bla bla",
type: 1,
limit: []
}
]
}]
我将数据推送到info_requires[]
,如下所示:
newService.info_requires.push(service.info_requires[i])
或
newService.info_requires[i].name = (service.info_requires[i].name)
但它不能用于错误:Cannot set property 'name' of undefined
?我做错了吗?
答案 0 :(得分:0)
如果"服务"是您创建的自定义对象,这可能会起到作用
var service ={
name: "",
description: "",
supplier: "",
price: "",
info_requires: []
};
service.info_requires.push(some_object);
new Service(service);
答案 1 :(得分:0)
检查密钥是否存在,如果没有为密钥创建数组/对象,如
this.setState(...)
与
类似if (newService.info_requires === undefined) {
newService.info_requires = [];
}
newService.info_requires.push(service.info_requires[i]);