2014-09-25 93 views
0

此问题与前面提到的this one类似。我得到了它的工作,复制解决方案,但是我必须在这里失去一些东西。我开始与代码:文字闪烁并消失

router.js:

this.route('note',{ 
    path: '/note/:_id', 
    data: function() { return Notes.findOne(this.params._id); }, 
}); 
this.route('notes', { 
    waitOn: function() { return Meteor.subscribe('notes')} 
}); 

模板的 '注意':

<table id="notes-table"> 
    {{#each notes}} 
     <tr id="table-row"> 
      <td id="indicator"></td> 
      <td id="remove-note" class="icon-close notes-table-class"></td> 
      <td id="notes-title" class="Nbody notes-table-class">{{this.title}}</td> 
      <td id="notes-body-prev" class="Nbody notes-table-class">{{this.body}}</td> 
     </tr> 
    {{/each}} 
</table> 

helpers.js:

Template.notes.events({ 
    'click .Nbody': function(events,template){ 
     console.log('displaying note : ' + this._id); 
     Router.go('/note/'+this._id); 
    } 
}); 

模板 '笔记' 很简单{{title}}和{{body}}

问题是,当我点击笔记表体时,它确实把我的位置,这是单注,但它的文本只是闪烁一秒钟,立即消失,永远不会回来,所以我什么都看不到。 问题:问题是什么?

我在控制台中没有得到任何错误。

这一点,“备忘录”的解决方案之间的差异是: - 通过表代替跨度的 这儿IM - 我放弃了在的标签缠绕点击体(我认为这可能是原因)

+0

您是否删除了自动发布?如果是这种情况,您在哪里订阅Notes集合? – saimeunt 2014-09-26 00:00:04

+0

自动发布,查看全部删除。我更新了我的帖子,以便我可以看到我在哪里订阅。这让我想到了,当我将waitOn移到Router.configure时,它开始工作。如果你不介意写出建设性的答案来帮助别人,并且我也可以评价它,那会很好。谢谢。 – yoK0 2014-09-26 00:38:24

回答

1

你有在 '笔记' 订阅路线能够检索它:

客户端:

this.route('note',{ 
    path: '/note/:_id', 
    waitOn: function() { return Meteor.subscribe('note',this.params._id)} 
    data: function() { return Notes.findOne(this.params._id); }, 
}); 
this.route('notes', { 
    waitOn: function() { return Meteor.subscribe('notes')} 
}); 

服务器:

Meteor.publish('note', function(noteId){ 
    return Notes.find(this.params._id); 
}) 

在评论中你写道,当你开始工作时:moved waitOn to Router.configure。 Route.configure waitOn适用于所有路由,因为Method.publish('notes')函数可能返回Notes.find(),则note开始正常工作。