ここに奇妙なことがあります。私は最初の Meteor アプリを起動して実行しています。
http://www.howli.stで見ることができます。
何が起こっているかは次のとおりです。
- プロセスを押してサンプル データを使用し、いくつかの値を入力できるデータ入力画面に移動します。
- 右上隅からセッション参照を取得し、別のブラウザで howli.st を再度開き、そのセッション参照を右側のボックスに貼り付けて「データを取得」します。
- 両方のブラウザーが同じセッションになり、一方にデータを入力すると、もう一方に更新されます。
小さな不具合: フォーム バインディング ボックスに一連の変更を加えると、次のようになります。
- 「こんにちは」→「こんにちは」
- "hello world" -> "hello"他のブラウザでは変化なし
- "helloworld" -> "helloworld"他のブラウザが更新されました!
私のアプリのコードは次のとおりです。
html:
<tr>
<td>form binding</td>
{{#each sessioninfo}}
<td colspan="2"><input type="text" id="formbinding" value={{formbind}} ></td
{{/each}}
</tr>
js:
Template.thedata.events = {
'keyup #formbinding':function(){
//save formbinding to MyItems
var thisSession = Session.get("thisSession");
MySessions.update({_id: thisSession}, {$set : { formbind : $('#formbinding').val()}});
}
};
Template.thedata.sessioninfo = function(){
return MySessions.find({});
};
感謝して受け取った助け。
更新変数 theformbind = $('#formbinding').val() を使用して更新ステートメントに渡すと、他のブラウザーは更新されますが、スペースの前のテキストのみが表示されます。
- abcd -> abcd
- ab cd -> ab
mongodb を見ると、正しい値「ab cd」が格納されています