流星不是单个文档

问题描述:

Router.route('/tickets/:sku', 
    { 
     name:'selectedTicket', 
     template:'selectedTicket', 
     waitOn:function() { 

      return Meteor.subscribe('selectedTickets',this.params.sku); 
     }, 
     data:function() 
     { 
      return Ticket.find({sku:this.params.sku}); 
     } 
    }) 

这是我的路由器页面流星不是单个文档

<template name="selectedTicket"> 

    <div class="container" style="padding-top: 60px"> 
     <div class="row"> 
      <div class="col s12 m6"> 
       <img src="/images/data/{{image}}" class="responsive-img" alt=""/> 
      </div> 
      <div class="col s12 m6"> 
       <h1>{{name}}</h1><p class="lead"><i>{{Host}}</i></p> 
       <p class="lead">{{location}}</p> 

       <div class="row"> 
        <div class="col s12 m6"> 
         <h3>{{money price}}</h3> 
         <hr/> 
         <p> 
          <a href="#" class="btn btn-success" id="add-to-cart"> 
           <i class="mdi mdi-cart"></i> 
           Add To Cart 
          </a> 
         </p> 
        </div> 

       </div> 
      </div> 
     </div> 
    </div> 

</template> 

这属于这个特定页面的代码返回数据是我的模板代码。

我遇到的问题是,当我选择一个特定的项目时,它会转到显示该项目的信息的页面,但页面空白。 image for single item image showing all data

+0

是,则渲染DOM元素....没有出现在浏览器日志 – lagfvu

+0

错误,你能在你的数据功能尝试: 的console.log(Ticket.find( {sku:this.params.sku})。count()) 如果它返回零,你需要修改你的mongo选择器。 – danSiebes

既然你不使用{{#each}}{{#with}}你需要你的路线,直接返回数据,而不是光标。因此使用.findOne(),而不是.find()

data:function(){ 
    return Ticket.findOne({sku:this.params.sku}); 
} 
+0

我知道我打算使用findOne(),但是当我使用它流星给我的错误...“错误:发布函数只能返回一个游标或一个游标数组”.. – lagfvu

+0

不在您的发布功能服务器,在你的*路线*! –

+0

谢谢,它工作... – lagfvu