なぜ次の基本例では、返された関数内の返されたコレクションは空ですか?
自動公開が有効になっています。ページのロードは、コンソールに戻ります。ここでエントリMeteor template.rendered - コレクションが空ののはなぜですか?
の設定が正しいジャバスクリプト内
Coll.find().fetch()
コード
t.js
Coll = new Meteor.Collection("coll");
if (Meteor.isClient) {
Template.tpl.rendered = function(){
console.log(Coll.find().fetch()); // <-- This line prints empty array
};
}
if (Meteor.isServer) {
Meteor.startup(function() {
if (Coll.find().count() === 0) {
var f = ["foo","bar"];
for (var i = 0; i < f.length; i++)
Coll.insert({f: f[i]});
}
});
}
そしてt.html
ファイル
<head>
<title>test</title>
</head>
<body>
{{> tpl}}
</body>
<template name="tpl">
Test tpl
</template>
コレクションがまだ読み込まれていないためです。 'Template.rendered'は起動されていて、コレクションがロードされているわけではありません。 [this](http://stackoverflow.com/questions/15129827/)スレッドを確認してください。 –