簡體   English   中英

如何在流星模板中顯示流星集合中的簡單值?

[英]How to show a simple value from a meteor collection in a meteor template?

我想使用把手從流星中的集合中顯示一個對象。

我有關於我所擁有的這個例子:

集合:交易。

服務器端:

Meteor.publish('getTransaction', function(transactionid){
    return Transactions.findOne({transactionid:transactionid});
});

客戶端:

的HTML

    <template name='MainTransac'>

    <body>
      <div class="panel panel-primary">
        <div class="panel-heading">
            <h3 class="panel-title" align="center">General information</h3>
        </div>
        <div class="panel-body">
                  <table class="table table-striped">
                    <tbody>
                       <tr>
                        <td>TransactionID:</td>
                       </tr>
                       <tr>
                        <td>{{transactionid}}</td>
                       </tr>
                    </tbody>    
                  </table>
        </div>
      </div>   
    </body>
   </template>

JS

Template.MainTransac.onCreated(function(){   
this.subscribe('getTransaction',Router.current().params.transactionid); 
});

如您所見,我已經從另一個頁面收到了trasactionid。 但是我不知道如何顯示帶有交易ID或交易文檔中任何其他字段的表。

我非常感謝您對此的所有幫助。

如果您有任何疑問,請告訴我,祝您愉快。

首先,您必須創建一個包含收集數據的助手:

Template.MainTransac.helpers({
  transaction: function(){ return Transactions.find(); }
});

然后,您將可以在模板中包含該幫助程序:

<tbody>
<tr>
<td>TransactionID:</td>
</tr>
<tr>
{{#with transaction}}
  <td>{{transactionid}}</td>
{{/with}}
</tr>
</tbody>

希望它有效!

發布必須返回一個游標游標數組 你有:

Meteor.publish('getTransaction', function(transactionid){
    return Transactions.findOne({transactionid:transactionid});
});

返回一個對象。

只需將.findOne()更改為.find()

Meteor.publish('getTransaction', function(transactionid){
    return Transactions.find({transactionid:transactionid});
});

然后,您的publish()將與您的subscribe() 您仍然需要通過模板助手為模板選擇正確的數據上下文。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM