Tại sao trong ví dụ cơ bản sau, bộ sưu tập trả về bên trong hàm được hiển thị bị trống?
Tự động xuất bản được bật. Sau khi tải trang lệnh
Coll.find().fetch()
gọi bên trong javascript console lợi nhuận đúng thiết lập các mụcMeteor template.rendered - Tại sao bộ sưu tập trống?
Đây là mã
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]});
}
});
}
Và t.html
tập tin
<head>
<title>test</title>
</head>
<body>
{{> tpl}}
</body>
<template name="tpl">
Test tpl
</template>
Đó là do bộ sưu tập của bạn chưa được tải. 'Template.rendered' được kích hoạt, không có nghĩa là bộ sưu tập của bạn được tải. kiểm tra [this] (http://stackoverflow.com/questions/15129827/) thread. –