如何获取数组嵌套对象子对象的父对象| MeteorJs-Astronomy

How to get Parent object for array nested object children | MeteorJs - Astronomy

本文关键字:对象 MeteorJs-Astronomy 嵌套 数组 何获取 获取      更新时间:2023-09-26

我使用MeteorJs和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 [];
      }
    },
  }
})

现在,在TemplateJS文件上,当用户更改电子邮件时,我从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();

相关问题:我可以在事件函数中获取模板父数据上下文吗?

您也可以使用{{../parent_field}}访问HTML中的父数据上下文。

我和天文学的所有者谈过,他说现在不可能。所以,我要结束这个话题了。

Git问题