如何获取数组嵌套对象子对象的父对象 | MeteorJs - 天文学
How to get Parent object for array nested object children | MeteorJs - Astronomy
我正在使用 MeteorJs with Astronomy 进行对象验证。
这是我的 Users class
:
Emails = Astro.Class({
name: 'Emails',
fields: {
address: {
type: 'string',
validator: [
Validators.required(),
Validators.email()
]
},
verified: {
type: 'boolean',
validator: Validators.required(),
}
}
})
Users = Astro.Class({
name: 'Users',
collection: Meteor.users,
fields: {
emails: {
type: 'array',
nested: 'Emails',
default: function() {
return [];
}
},
}
})
现在,在模板 JS 文件上,当用户更改电子邮件时,我从 Blaze 模板收到事件,但 this
链接到电子邮件对象,而不是用户一。谁可以获得电子邮件更改事件的用户对象?
HTML
{{#each emails}}
<input type="email" name="address-{{@index}}" value="{{address}}" data-email-idx="{{@index}}">
{{/each}}
JS
Template.userForm.events({
'change input[type=email]': function (event) {
var email = this;
var field = event.currentTarget;
let email_idx = field.getAttribute('data-email-idx')
email.set('address', field.value)
// let user = {...}?
},
})
user = Template.parentData();
相关问题:Can i get the template parent data context in the event function?
您还可以使用 {{../parent_field}}
在 HTML 中访问父数据上下文。
我和 Astronomy 老板谈过,他说现在不可能。所以,我要结束这个话题了。
我正在使用 MeteorJs with Astronomy 进行对象验证。
这是我的 Users class
:
Emails = Astro.Class({
name: 'Emails',
fields: {
address: {
type: 'string',
validator: [
Validators.required(),
Validators.email()
]
},
verified: {
type: 'boolean',
validator: Validators.required(),
}
}
})
Users = Astro.Class({
name: 'Users',
collection: Meteor.users,
fields: {
emails: {
type: 'array',
nested: 'Emails',
default: function() {
return [];
}
},
}
})
现在,在模板 JS 文件上,当用户更改电子邮件时,我从 Blaze 模板收到事件,但 this
链接到电子邮件对象,而不是用户一。谁可以获得电子邮件更改事件的用户对象?
HTML
{{#each emails}}
<input type="email" name="address-{{@index}}" value="{{address}}" data-email-idx="{{@index}}">
{{/each}}
JS
Template.userForm.events({
'change input[type=email]': function (event) {
var email = this;
var field = event.currentTarget;
let email_idx = field.getAttribute('data-email-idx')
email.set('address', field.value)
// let user = {...}?
},
})
user = Template.parentData();
相关问题:Can i get the template parent data context in the event function?
您还可以使用 {{../parent_field}}
在 HTML 中访问父数据上下文。
我和 Astronomy 老板谈过,他说现在不可能。所以,我要结束这个话题了。