ı次のような非常に単純なテンプレートがあります。Blazeテンプレート内にカーソルデータを表示すると、Meteor.call()で動作しません
<template name="editingUsers">
<div class="container">
<div class="jumbotron">
<ul class="custom-list-stye">
{{#each lastEditors}}
<li><span><strong>{{docUser.name}}</strong></span> </li>
{{/each}}
</ul>
</div>
</div>
</template>
私はヘルパーでHTMLのリストを埋めます。
Template.editingUsers.helpers({
lastEditors: function() {
return Meteor.call('getLastEditors');
}
});
'getLastEditors'メソッドは、MongoDBクエリによってデータを返します。
getLastEditors: function() {
if(Meteor.user()) {
const lastEditors = Documents.find(
{docUser: {$exists: true }},
{
limit:5,
sort: { lastEdit: -1 },
});
return lastEditors;
}
}
このコードでは、リストとして表示する必要があるデータは表示されません。しかし、私はヘルパーから直接Mongo DBクエリを作成するとすべてがOKになります。以下は作業ヘルパーコードです。あなたは、私がautopublishパッケージを続行することはできません知っているように
Template.editingUsers.helpers({
lastEditors: function() {
return Documents.find(
{docUser: {$exists: true }},
{
limit:5,
sort: { lastEdit: -1 },
});
}
});
(autopublishパッケージが削除されていない)と私は()Meteor.methodsを実装する必要があります。 Meteor.methodからカーソルデータを返すのがテンプレート内に表示されない理由を理解できません。あなたのコメントをお願いしますか?
ご意見ありがとうございます! –
フィードバックいただきありがとうございます。その答えがあなたの問題を解決したり、大きな助けを与えたりした場合、人々に感謝するこの方法は答えにもなります。 – ghybs