14

モデル/コレクションとテンプレートの間で双方向のデータバインディングを実行する方法を探しています。コレクションの内容が変更されると、テンプレートがこの変更に反応して更新されることを理解しています。ただし、ユーザーがテキストボックスなどに入力したときにコレクションを自動的に作成するにはどうすればよいですか?

4

1 に答える 1

13

テンプレートイベントバインディングを使用できます

たとえば、持っている場合

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}});
    }
});

そのため、テキストボックスがフォーカスを失う/エンターが押されるなどするとすぐに更新されます

送信ボタンを使用したい場合、および少しクールなものについては、github の meteor のコントローラー ブランチを参照して、現在作業中の簡単なフォーム システムを確認して、これを少し緩和してください。

于 2013-03-16T14:25:28.423 に答える