2016-01-11 3 views
1

Я использую MeteorJs с Astronomy для проверки объекта.Как получить родительский объект для массива вложенных объектов детей | MeteorJs - Астрономия

Это мой 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 []; 
     } 
    }, 
    } 
}) 

Теперь, Template 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 = {...}? 
    }, 
}) 

ответ

0

Я разговариваю с владельцем астрономии, и он говорит, что это невозможно сейчас. Итак, я закрываю тему.

Git Issue

0

user = Template.parentData();

Связанные вопрос: Can i get the template parent data context in the event function?

Вы также можете получить доступ к контексту родительских данных в HTML с помощью {{../parent_field}}.

+0

Я не говорю о контексте шаблона на Blaze, но контекст для родителей по астрономии валидатора – Arthur

Смежные вопросы