#each完成后如何执行回调?

ant45de

#each完成后,我在回调方面遇到麻烦我有一个名为“内容”的模板:

<template name="content">
{{#if Template.subscriptionsReady}}
    {{#each currentData}}
        <div data-cid="{{this._id}}"></div>
    {{/each}}
{{else}}
    Loading...
{{/if}}
</template>

首先,我等待订阅,如果有订阅,我会使用遍历我的Collection{{#each}}并附加div我需要一种用于for-each循环完成时的回调(换句话说,DOM准备就绪)。

Template.content.onRendered()

->触发早

我还尝试过在{{each}}之后添加图片,并以如下方式触发函数onload

<img style="height:0;width:0" src="*mysource*" onload="callback()">

->有时可以工作,但不可靠

有没有办法获取此回调?如果可以带来解决方案,我不担心更改此模板的结构。

卡西姆·多塞尔(Kassym Dorsel)

我遇到了类似的问题,经过大量搜索后发现以下解决方案。我尝试使用TrackeronRendered和其他技巧,没有一次成功。可以认为这更像是骇客,但可以。不幸的是,我不记得最初在哪里找到此解决方案。

从模板开始,但在后面添加模板标签each

<template name="content">
{{#if Template.subscriptionsReady}}
    {{#each currentData}}
        <div data-cid="{{this._id}}"></div>
    {{/each}}
    {{doneTrigger}}
{{else}}
    Loading...
{{/if}}
</template>

然后定义一个返回null的助手。

Template.content.helpers({
  doneTrigger: function() {
    Meteor.defer(function() {
      // do what you need to do
    });
    return null;
  }
});

您可以Meteor.defer() 在此处了解更多信息,但这等效于使用0毫秒setTimeout

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在.each循环内的Jquery回调完成后,如何执行函数

.forEach完成后执行回调函数

一组工作人员完成后如何执行Sidekiq回调

FBSDKLoginKit,注销完成后如何进行回调?

IF/else语句完成后如何运行回调

Javascript和回调并被推迟。google gmail API请求完成后,如何运行函数?

APScheduler 回调函数 - 作业完成后如何在 python 中调用某些功能/模块?

TkInter:如何等到方法完成后才进行回调

Firebase Cloud Function onWrite完成后,如何触发Android客户端回调?

jQuery:如何在ajax调用完成后回调每个循环?

所有请求完成后,如何执行多个Firebase请求并接收回调?

PHP-array_walk完成后回调

在多个函数完成后运行回调

对话框转换完成后的回调

循环加载函数 - 全部完成后回调?

远程芹菜工人完成后通知或回调烧瓶

遍历数组:每个元素均使用CCAction,但操作完成后仅执行一次回调

所有异步forEach回调完成后的回调

jQuery转换完成后如何获取回调

C ++:添加将在完成std :: future后执行的回调

如何确保仅在等待功能完成后执行代码?

订阅完成后如何执行操作

react组件渲染完成后如何执行js文件?

segue完成后如何执行一些代码?

部署完成后,如何自动执行Redis缓存清除?

当前命令完成后,如何键入要执行的命令?

TextEditorEdit.replace是异步的,完成后如何执行代码?

擦除函数完成后如何执行type()函数

上面代码执行id完成后如何让Intent运行