我有一个模板,task_list看起来像这样:
{{#each tasks}}
{{> task}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)
Template.task_list.tasks 返回一个集合,在ui中,似乎需要花费一些时间来加载.
当集合正在加载时,我想显示一个加载指示器.
关于我如何能够做到这一点的任何想法?
顺便说一句,我确实rendered在task_list模板上尝试了模板的事件,但是在实际加载列表之前它被触发了.我也试过rendered在task模板上使用,但它似乎永远不会被调用.
为什么在以下基本示例中返回的集合在渲染函数内是空的?
自动发布已启用.页面加载
Coll.find().fetch()javascript控制台内的调用命令后返回正确的条目集
这是代码
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]});
}
});
}
Run Code Online (Sandbox Code Playgroud)
并t.html提交
<head>
<title>test</title>
</head>
<body>
{{> tpl}}
</body>
<template name="tpl">
Test tpl
</template>
Run Code Online (Sandbox Code Playgroud)