0

新しい監視機能を使用したかったのですが、機能していないようです。少なくとも私にとってはそうではありません。

ここでまず最初に、の結果は次のとおりですmrt --version

Meteorite version 0.4.6
Meteor version 0.5.9 (git checkout)

目標は、クライアント間で位置が反映される一連のドラッグ可能な要素を作成することです。

これは私のクエリです:

  var items = Items.find({});
  var handle = items.observe( {
     changed: function (newDocument, oldDocument) {
        if ( newDocument._id !== dragged ) {
           $( "#" + id ).style( "left", newDocument.left );
           $( "#" + id ).style( "top", newDocument.top );
        }
     }
  } );

ページをリロードすると画像が同期されるため、位置が変更されていることがわかります。私はobserveとobserveChangedの両方を試してみましたが、結果は同じでした。コールバック内にブレークポイントを設定すると、呼び出されません。

私がまだ持っているinsecureからautopublishでしょうか?

ご協力ありがとうございました

4

1 に答える 1

0

insecure削除するのに役立つようですautopublishが、さらに重要なことは、サブスクリプションの準備が整うまで待つことです.

私はMeteor.subscribe("name", function() {});構文を使用することになり、現在は機能しています。

完全なコードは次のとおりです。

Meteor.subscribe("allItems", function() {
   var items = Items.find( {} );
   Session.set( "items", items.fetch() );

   handle = items.observe( {
      changed: function ( newDocument, oldDocument ) {
         if ( newDocument._id !== dragged ) {
            $( "#" + newDocument._id ).css( "left", newDocument.left );
            $( "#" + newDocument._id ).css( "top", newDocument.top );
         }
      }
   } );
});

それが役立つことを願っています

于 2013-03-21T10:31:04.750 に答える