【问题标题】:meteorjs - force iron-router to wait the render of all until waitOn finishedmeteorjs - 强制 Iron-router 等待所有的渲染,直到 waitOn 完成
【发布时间】:2014-11-29 16:01:56
【问题描述】:

当给出 waitOn 参数时,我正在寻找一种在渲染之前等待的方法。

目前它与推荐的方式完美配合:

  1. 使用onBeforeAction('正在加载')

  2. 使用动作:函数(if (this.ready()) this.render())

  3. waitOn : function () {return [Meteor.subscribe()...]}

    因此,在渲染路由模板时,渲染进程会等待。但是当我在主模板中包含一个模板时,“子”模板将在 waitOn 选项结束之前呈现。

那么,在渲染所有包含的模板以及所有 yield-sub-templates 之前,告诉 Iron-router 等待 waitOn 就绪状态的推荐方法是什么?

【问题讨论】:

  • 我能问一下你在哪里读到的推荐方式吗?我目前正在学习 Meteor,这对我很有帮助。
  • 它改变了很多如何做到这一点。 iron-meteor.github.io/iron-router 这是最新的指南。您可以在本指南中找到此问题的示例。你必须使用 this.ready() 函数来触发你的 this.render() 函数。

标签: meteor iron-router


【解决方案1】:

对我来说这很好用:

this.route('note',{
    path: '/note/:_id', 
    waitOn: function() { return Meteor.subscribe('notes')},
    data: function() { 
        if( this.ready() ){ this.render();
            return Notes.findOne(this.params._id);
        }else{this.render('loading') }}
});

没有内容闪烁或任何东西。

但也想知道上师是怎么处理的。

【讨论】:

  • 嗨 yoK0 - 我想你不明白我的问题。你所做的和我所做的一样。我的问题不在于主模板(在您的情况下为“节点”)正在等待数据 - 问题是产量模板(子模板)没有等待,而且在主模板中呈现的模板也是如此。跨度>
  • 嗯。这个模板进入产量。你能提供一些代码“粘贴”吗?
  • 我明天会上传一些代码,以便您查看问题。
猜你喜欢
  • 2014-06-27
  • 2014-01-16
  • 2018-08-03
  • 2020-12-09
  • 2014-12-21
  • 1970-01-01
  • 2014-07-06
  • 2015-07-07
  • 1970-01-01
相关资源
最近更新 更多