2017-02-21 17 views
0

Я пытаюсь получить данные из коллекции в метеор и используя помощника, передающего ее в шаблон.Метеор не отображает данные из коллекции в html

Вот мой код в коллекции:

Meteor.publish('displayCustomers', function tasksPublication() { 
    return Customers.find(); 
}); 

Ниже кода в файле шаблона JS

Template.customerlist.onCreated(function() { 
    Meteor.subscribe('displayCustomers'); 
}); 



Template.customerlist.helpers({ 
    displayCustomers :function(){ 
     console.log(Customers.find({})); 
     return Customers.find({}); 
    }, 
}); 

Шаблон:

<template name="customerlist"> 
    <h1>All registered users</h1> 
    {{#each displayCustomers}} 
     {{fname}} 
    {{/each}} 

</template> 

Он отображает только содержание HTML т.е. <h1>All registered users</h1>

ответ

0

Убедитесь, что ваша публикация возвращает значения клиенту с этим MiniMongo chrome extension

+0

Я добавил console.log на стороне клиента, и то же самое я могу увидеть на вкладке консоли в светлячок –

+0

пытались ли вы расширение? Он покажет вам, какие данные получает подписка. – mutdmour

0

Проверьте, чтобы клиенты были определены на сервере и что ваш блок публикации работает только на сервере.

Также я бы бросил отладчик в ваш блок onCreated, чтобы убедиться, что ваша подписка инициализирована.

Кроме этого, ваш код выглядит хорошо. Я попытался бы установить MeteorToys Mongol для клиентской паба/суб-отладки. https://atmospherejs.com/msavin/mongol

+0

Я добавил отладчик внутри публикации и нашел, что он не собирается публиковать из файла коллекции js. Ниже приведен мой полный код Meteor.methods ({ –

+0

) Код не отображается. Попробуйте отредактировать оригинальный вопрос. Комментарии имеют ограничение на характер. –

0

Вы должны фактически принести документы в шаблоне:

Template.customerlist.helpers({ 
    displayCustomers :function(){ 
     return Customers.find().fetch(); //will return an array with all published documents 
    }, 
});