2013-03-16 4 views
13

Я новичок в метеоритах. Я ищу способ выполнить двухстороннюю привязку данных между моделью/коллекцией к шаблону. Насколько я понимаю, при изменении содержимого коллекции шаблон реагирует на это изменение и сам обновляет. Однако, как автоматически собирать, когда пользователь вводит, например, в текстовое поле?Можно ли сделать привязку данных по двум направлениям на метеор

+0

Вы видели rivetsjs? – Tushar

+0

Возможно, вы захотите рассмотреть пакет aldeed: autoform. http://autoform.meteor.com/updateaf – chris

ответ

12

Вы можете использовать template events binding

например, если у вас есть

HTML

<template name="home"> 
    <input type="text" name="text" value="{{text}}"/> 
</template> 

клиент JS

Template.home.text = function() { 
    return MyCollection.findOne({_id:"1"}).text; 
} 

Template.home.events({ 
    'change input[name=text]':function(event,context) { 
     MyCollection.update(_id, {$set:{text:event.target.value}}); 
    } 
}); 

Так й по желанию сделать это обновление, как только текстовое поле теряет фокус/Enter нажимается/и т.д.

Если вы хотите использовать кнопку & представить что-то немного прохладнее взглянуть на controllers branch of meteor on github для системы простых форм в настоящее время работы, чтобы облегчить это немного.

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