[英]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.