【发布时间】:2013-03-27 10:07:55
【问题描述】:
我无法在 Template.my.rendered 中获取数据,但在 Chrome 的控制台中可以。 这是我的代码:
html:
<Template name="moitorContent"> <div class="tab-pane active" id="1"> ........ </div> </Template>
js:
Template.moitorContent.rendered = function(){ 如果(!this._rendered){ this._rendered = true; console.log(Svse.find({}).fetch()); } }当使用 localhost:3000 打开 chrome 时,
控制台信息为“[]”
但在 chrome 的控制台中输入它们
console.log(Svse.find({}).fetch());console.log 可以获取数据
像这样:
知道我做错了什么吗?
任何建议表示赞赏!
【问题讨论】:
-
嗨,你想做什么?为此使用辅助方法怎么样?关于您的代码的注释: this._rendered 在 .rendered 回调中不是总是“true”吗?
-
可能是你的 Svse 集合在第一次渲染时还没有准备好,尝试在你的 subscibe 中添加一个可选函数: Meteor.subscribe("Svse", function() {console.log("Svse Ready "});
-
@skeetmtp 是的,当调用渲染函数时,Svse 集合还没有准备好。你知道吗?
-
@Vindberg 我正在尝试在模板渲染时使用 jquery-TreeView 构建一棵树,而
!this._rendered始终为真。
标签: meteor