如何在实现 SimpleSchema 的 Meteor 中遍历包含对象的数组
How to iterate through an array containing objects in Meteor implementing SimpleSchema
我有一个简单的模式实现如下。有一个包含对象的数组。每个对象都有一个单选按钮。我需要提取每个单选按钮的值。如何遍历数组?
test_schema = new SimpleSchema ({
object:{
type:Array,
},
"object.$":{
type:Object
},
"object.$.condition" :{
type:String,
autoform:{
type: "select-radio-inline",
options:[{label:'1', value:"one"}]
},
},
"zod": {
type: String,
optional:true,
custom: function () {
alert(this.field('object').value);
}
}
我尝试了一种增量方法,在该方法中我删除了数组定义,仅从对象中检索数据。像这样的方法有效:
this.field('object.condition').value
但是,在将对象包含在数组中之后,这样的事情就不起作用了。
this.field('object.$.condition').value
有效的是:
this.field('object.0.condition').value
这将检索第一个对象的条件值。我该如何提取其他元素?
“$”符号是架构定义中数组索引的占位符。
访问实际实例时,将其替换为实际数组索引。
所以第一个的索引为 0,下一个的索引为 1,依此类推:
for (var i=0, i<object.length, i++) {
console.log( i, this.field('object.'+i+'.condition').value
}
我有一个简单的模式实现如下。有一个包含对象的数组。每个对象都有一个单选按钮。我需要提取每个单选按钮的值。如何遍历数组?
test_schema = new SimpleSchema ({
object:{
type:Array,
},
"object.$":{
type:Object
},
"object.$.condition" :{
type:String,
autoform:{
type: "select-radio-inline",
options:[{label:'1', value:"one"}]
},
},
"zod": {
type: String,
optional:true,
custom: function () {
alert(this.field('object').value);
}
}
我尝试了一种增量方法,在该方法中我删除了数组定义,仅从对象中检索数据。像这样的方法有效:
this.field('object.condition').value
但是,在将对象包含在数组中之后,这样的事情就不起作用了。
this.field('object.$.condition').value
有效的是:
this.field('object.0.condition').value
这将检索第一个对象的条件值。我该如何提取其他元素?
“$”符号是架构定义中数组索引的占位符。
访问实际实例时,将其替换为实际数组索引。
所以第一个的索引为 0,下一个的索引为 1,依此类推:
for (var i=0, i<object.length, i++) {
console.log( i, this.field('object.'+i+'.condition').value
}