文字闪烁并消失

时间:2014-09-25 23:46:02

标签: meteor

这个问题与我前面提到的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);
    }
});

模板&#39;注意&#39;很简单{{title}}和{{body}}

问题是,当我点击笔记本体时,它确实需要我应该在哪里,这是单音符,但它的文字只是闪烁一秒钟并立即消失并且永远不会回来,所以我什么也看不见。 。 问题:问题是什么?

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

这个和备忘录之间的差异&#39;解决方案是: - 这里我用的是表而不是span - 我把可点击的身体包裹在标签中(我想这可能是原因)

1 个答案:

答案 0 :(得分:1)

您必须订阅&#39;注意&#39;路线能够检索它:

客户端:

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开始正常工作。