2013-03-20 73 views
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); 
     } 
    } 
    }); 

我知道位置发生改变,因为当我重新加载图像得到同步的页面。我试着用观察和观察改变了相同的结果。如果我在回调中设置了一个断点,它永远不会被调用。

难道是因为我还有insecureautopublish吗?

感谢你的帮助

回答

0

它看起来像它有助于消除insecureautopublish,但更重要的是,要等到订阅已准备就绪。

我结束了使用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); 
     } 
     } 
    }); 
}); 

希望帮助