Я относительно новичок в Meteor, и я пытаюсь создать веб-магазин для моей невестки, которая берет данные из своего существующего магазина Etsy и ставит пользовательский скин на Это. Я определил все свои Meteor.methods для извлечения данных, и я проверил данные с помощью ряда команд console.log ... Итак, данные есть, но они не будут отображаться на экране. Ниже приведен пример кода на стороне сервера:Метеор: данные внешнего вызова API не отображаются
Meteor.methods({
...
'getShopSections': function() {
this.unblock();
var URL = baseURL + "/sections?api_key="+apiKey;
var response = Meteor.http.get(URL).data.results;
return response;
}
...
});
Этот метод возвращает массив объектов. Образец немного JSON строки одного из возвращаемых объектов из массива:
{
active_listing_count: 20,
rank: 2,
shop_section_id: 1******0,
title: "Example Title",
user_id: 2******7
}
После извлечения этих данных без сучка, я был готов сделать вызов со стороны клиента, и я попробовал и потерпел неудачу в нескольких различные способы до поиска Google приземлились меня в этом учебнике здесь: https://dzone.com/articles/integrating-external-apis-your
на стороне клиента, у меня есть nav.js файл со следующим кусочке кода, адаптированный из приведенного выше урока:
И образец вызова из моего навигатора .html template ...
<ul>
{{#each category}}
<li>{{category.title}}</li>
{{/each}}
</ul>
Итак, здесь есть несколько вещей, о которых я не знаю. В первую очередь, DOM не передает ни одну из категорий category.title, несмотря на то, что отображается соответствующее число заполнителей li
. Во-вторых, прежде чем я следовал вышеприведенному учебнику, я не определял переменную Session. Учитывая, что список категорий магазинов должен оставаться статическим после загрузки шаблона, я не думал, что это необходимо из того, что я понимаю о переменных сеанса ... но по какой-то причине это была разница между шаблоном, отображающим один пустой <li>
tag по сравнению с количеством пустых <li>
, равным категории.length --- поэтому, хотя я не могу понять, зачем нужна переменная Session в этом случае, это привнесло мне один воспринимаемый шаг ближе к моей цели ... Я попробовал несколько операторов console.log на стороне клиента, и я на 100% уверен, что данные определены и доступны, но когда я проверяю исходный код в окне «Инструменты для разработчиков», DOM просто показывает количество пустых li
кронштейны.
Может ли кто-нибудь из метеоритных гуру объяснить, почему 1) DOM не передает ни одного из названий, и 2) если действительно нужна переменная сеанса? Пожалуйста, дайте мне знать, нужна ли дополнительная информация, и я буду очень рад предоставить ее. Благодаря!
Большое спасибо - список теперь правильно отображается! Теперь изучите реактивные вары. – neonbrown82