Я использую Parse внутри приложения Meteor. Вот мой код:Данные не отображаются в шаблоне
HTML:
<body>
<div class="container">
<header>
<h1 style="color: red;">Meteor & Parse DB Demo</h1>
</header>
{{>header}}
</div>
</body>
<template name="header">
{{#each alphabets}}
<div class="alphabets">{{this}}</div>
{{/each}}
JS:
Parse.initialize("appid", "jsid");
var list_item=Parse.Object.extend("className");
var query=new Parse.Query(list_item);
var list=[];
if (Meteor.isClient) {
query.find({
success:function(o){
for (var i = 0; i < o.length; i++) {
var object = o[i];
list.push(object.get('name'));
console.log(list);
}
return list;
},
error: function(error) {
alert("Error: " + error.code + " " + error.message);
}
});
Template.header.alphabets = function() {
return list;
};
}
</template>
данные поступают из базы данных, но проблема заключается в том, что шаблон загружается до прибытия данные:
template.headed.alphabet
называется до query.find
имеет название
не имеет значения, по-прежнему использует коллекцию клиентской стороны, он не разговаривает с монго, его вещь, называемая minimongo, в этом случае отключается от монго. Он предоставляет реактивные коллекции, которые вы хотите. Это означает, что он будет повторно отображаться при обновлении списка –
nope, без имени класса, если вы укажете ему имя, то он будет считать, что он связан с mongo, но с нулевым значением, как массив, но реактивный, полностью отключенный от mongo –
это означает, что object.get ('name') является объектом .... если у него есть свойства, которые вы хотите отобразить .... –