2

ここに奇妙なことがあります。私は最初の Meteor アプリを起動して実行しています。

http://www.howli.stで見ることができます。

何が起こっているかは次のとおりです。

  1. プロセスを押してサンプル データを使用し、いくつかの値を入力できるデータ入力画面に移動します。
  2. 右上隅からセッション参照を取得し、別のブラウザで howli.st を再度開き、そのセッション参照を右側のボックスに貼り付けて「データを取得」します。
  3. 両方のブラウザーが同じセッションになり、一方にデータを入力すると、もう一方に更新されます。

小さな不具合: フォーム バインディング ボックスに一連の変更を加えると、次のようになります。

  1. 「こんにちは」→「こんにちは」
  2. "hello world" -> "hello"他のブラウザでは変化なし
  3. "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() を使用して更新ステートメントに渡すと、他のブラウザーは更新されますが、スペースの前のテキストのみが表示されます。

  1. abcd -> abcd
  2. ab cd -> ab

mongodb を見ると、正しい値「ab cd」が格納されています

4

1 に答える 1

1

o_O

もう一度見ると、私は今それを見る

<td colspan="2"><input type="text" id="formbinding" value={{formbind}} ></td>

"フォームバインドの周りにはありません。

<td colspan="2"><input type="text" id="formbinding" value="{{formbind}}"></td>

スペースを含むものを許可するようにします(それらの新しい引数を作成しません)。

于 2012-05-31T01:27:21.620 に答える