重新渲染模板时的 Meteor 回调

2024-05-01

我目前有一个模板,其中包含{{#each}}在其中循环。我正在尝试找到一种方法来触发特定功能{{#each}}循环已完成。Template.rendered仅在第一次渲染模板时运行,因此不幸的是,这不起作用。

有什么可以做到这一点吗?


我就是这样做的:

Template.foo.rendered=function(){
  // NEW in 0.8.3, use this.computation=Deps.autorun and
  // this.computation.stop() in destroyed callback otherwise
  this.autorun(function(){
    var cursor=Foo.find({/* same query you feed the #each with */});
    cursor.forEach(function(foo){
      // transformations on the updated model ?
      // this is important to call forEach on the cursor even if you don't do
      // anything with it because it actually triggers dependencies on documents
    });
    NEW in 0.9.1, use Deps otherwise
    Tracker.afterFlush(function(){
      // here you are guaranteed that any DOM modification implied by the
      // each loop is finished, so you can manipulate it using jQuery
      this.$(".foo-item").doStuff();
    }.bind(this));
  }.bind(this));
};

此代码设置模板本地自动运行(当从 DOM 中删除模板时自动停止计算)以跟踪通过光标对集合所做的更改(使用forEach) 使用与 #each 参数相同的查询。

每当数据库被修改时,它都会再次运行,如果愿意的话,您可以迭代修改后的文档。

数据库被修改,它也会使计算设置无效#each阻止并执行 DOM 元素插入/修改/删除。

在创建的模板计算中this.autorun,我们不确定 DOM 操作是否已经发生,这就是为什么我们使用Tracker.afterFlush在 DOM 再次冻结后运行代码。

如果每次 #each 失效后必须触发的代码段不使用 DOM,那么您可以忘记这一点Tracker.autoFlush东西,但我认为确实如此。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重新渲染模板时的 Meteor 回调 的相关文章

  • 重新渲染模板时的 Meteor 回调

    我目前有一个模板 其中包含 each 在其中循环 我正在尝试找到一种方法来触发特定功能 each 循环已完成 Template rendered仅在第一次渲染模板时运行 因此不幸的是 这不起作用 有什么可以做到这一点吗 我就是这样做的 Te
  • Iron 路由器中的多个订阅

    我一直在开发一个使用评论功能的应用程序 这导致必须订阅发表评论的集合和评论集合本身 现在看起来像这样
  • nodejs googleapis,authClient.request 不是函数

    我正在像这样的一个函数中创建一个 oauth2client 并返回它 实际上 我确实传递了客户端 ID 秘密 重定向 URL 和凭据 据我检查 这些都是正确的 var OAuth2 google auth OAuth2 var oauth2
  • Meteor js:使Session对象部分持久化

    在我的流星应用程序中 我使用会话来存储有关用户活动的临时信息 我想使用 amplify js 将此信息的某些部分保留到浏览器 但不是全部 我想要一种拥有 临时 会话密钥和 持久 会话密钥的方法 例如我可以打电话 Session set pe
  • 使用 account.ui 包验证电子邮件

    我想在创建某个用户时发送验证电子邮件 我使用帐户密码包 因此在我的代码中调用任何帐户方法 我在文档中读到我需要调用 Accounts sendVerificationEmail userId email 但问题是我不知道什么时候调用它 我尝
  • Meteor 用户属性

    我希望能够在 Meteor 身份验证系统中将用户标记为 管理员 并允许该用户执行特殊操作 以及显示一些如果他们不是管理员则不会显示的 gui 元素 我已经尝试在用户对象上设置一个 admin 属性 这在服务器端可以正常工作 对于管理操作的
  • 带有 mrt 的流星 - 铁:路由器:没有这样的包

    我在学meteor 0 8 3并尝试使用一些基本的路由设置铁路由器 https github com EventedMind iron router My smart json包含 packages iron router git http
  • 如何强制 Meteor 重新加载订阅?

    在我的应用程序中 sections是一个链接到的集合courses通过一个名为course sectionIds 初始加载工作正常 但在管理面板中添加部分时遇到非反应式连接问题 这是路线 route adminCourse path adm
  • Meteor:将所有用户发布到客户端

    为什么这不起作用 在客户端和服务器上 AllUsers new Meteor Collection allUsers 仅在服务器上 Meteor publish allUsers function return Meteor users f
  • 如何将 CSV 文件中的数据导入到服务器端的 Meteor 集合中

    我正在尝试为我之前的帖子找到解决方案 Mongo 在 Meteor 应用程序中的 id 字段上给出重复键错误 https stackoverflow com questions 28961281 mongo gives duplicate
  • Meteor:即使设置了 ANDROID_HOME 也未设置

    操作系统 Ubuntu 14 04 框架 流星1 1 0 2 应用名称 Songofy 这是输出meteor install sdk android meteor install sdk android Found Android bund
  • 将 mongo 数组转换为具有键值对的对象

    我有一个包含字符串数组的 mongo 文档 我需要将这个特定的字符串数组转换为包含键值对的对象数组 以下是我目前的做法 id ObjectId 57e3720836e36f63695a2ef2 platform A1 available C
  • 为什么函数不可序列化?

    背景 在 Meteor 文档中Meteor call http docs meteor com full meteor call 它写道 如果您将回调函数作为最后一个参数 它不能作为该方法的参数 因为函数不可序列化 我跑过类似的东西Mete
  • 如何使 Meteor 上的服务器可以访问文本文件

    我很惊讶我无法在这里搜索我的答案 似乎没有其他人遇到这个问题 当您运行meteor服务时 js html等被打包在 meteor local build文件夹中 但它似乎排除了不是js或html的内容 我有一个名为 magicsets 的文
  • Meteor 渲染回调并应用 jQuery 插件

    在将 jQuery 插件 如滑块或同位素 应用到从 Meteor 加载动态内容的 DOM 元素集合时寻找一种模式 如果您致电template rendered doc here http docs meteor com template r
  • 从一个 Meteor 工作区切换到另一个

    示例 您制作了 todos 示例 并且它正在运行 突然 你想开始一个名为 西瓜 的全新项目 我的假设是我能够cd watermelon run meteor再次 并切换它 并非如此 建议 也许我应该提出这个请求 流星没有出现在jobs要么
  • MongoDB:如何在更新之前对查询进行排序

    我正在编写一个 Meteor Node js 应用程序 它在后端使用 MongoDB 在我的代码中的某个时刻 我需要更新specific集合中的文档 我需要使用 Mongo 的 update 方法 但我在传递正确的 复杂的 查询以缩小到该特
  • 无法在 Windows 8.1 Pro 上为 Meteor 添加 Iron 路由器包

    我在Windows上安装了meteorhttp win meteor com http win meteor com 我试图通过下载以下存储库在 Windows 8 1 上为 Meteor 安装 Iron 路由器包 git clone ht
  • 为 Meteor 数据创建编号列表

    有没有办法获取 Meteor 集合中项目的编号列表的 编号 我知道我可以在 html 中做到这一点 但我觉得如果我可以在 spacebars 中放置一些东西 那么样式会更容易 如果我可以使用更好的术语 请告诉我 像这样的东西 前 20 部电
  • Meteor 的不同数据库和前端

    假设我想在 Meteor 的后端使用与 Mongo 不同的数据库 并且还想在前端使用像 D3 js 这样的可视化库 目前可能吗 如果不自己添加的话 会有多复杂 谢谢 https github com meteor meteor tree m

随机推荐

  • AWS S3在两个存储桶之间复制文件和文件夹

    我一直在寻找一种工具来帮助我将 AWS S3 存储桶的内容复制到第二个 AWS S3 存储桶 而无需先将内容下载到本地文件系统 我尝试使用 AWS S3 控制台复制选项 但这导致一些嵌套文件丢失 我尝试过使用 Transmit 应用程序 由
  • 如何处理 Visual Studio Code 消息框中的单击事件?

    根据 API 文档 消息框可以采用第二个参数 一个字符串数组 充当消息框上的操作 通常只有一个关闭按钮 操作 https code visualstudio com docs extensionAPI vscode api window h
  • 让右侧的 Div 填满所有可用空间

    我想创建两个并排的 div 但我希望左侧的 div 为 300px 右侧的 div 占据屏幕上的剩余部分 这怎么可能呢 谢谢 最直接的 我会说正确的 方法是使用display table wrapper display table widt
  • 分享一些东西到phonegap应用程序

    有什么方法可以注册phonegap应用程序以显示在要共享的应用程序菜单中吗 要出现在此列表中 您必须修改 AndroidManifest xml 文件并在您的 Activity 下添加以下行
  • PHP保存图像文件[重复]

    这个问题在这里已经有答案了 可能的重复 从 PHP URL 保存图像 https stackoverflow com questions 724391 saving image from php url using php 我有一个图像作为
  • gfortran 未定义的引用

    我正在尝试编译一个依赖很多东西的程序 我使用并修改了提供的 makefile 来代表我的计算机设置 但在编译的最后一步中我不断收到许多未定义的引用 导致问题的命令行是 gfortran o cosmomc ParamNames o Matr
  • Google 地图视图无法在模拟器上显示

    您好 我正在尝试在 Android 模拟器中显示地图 但它无法在地图视图中显示谷歌地图 并且也不从 Android 模拟器上的浏览器连接 www google com 那么是否有关于在模拟器上运行互联网的任何设置 谁能帮我解决这个问题 尝试
  • 是否有一个“OneOf”类用于对没有共同祖先的类进行分组

    与此类似 https stackoverflow com a 3508555 33689 我不想接受几个不相关的类之一 而是想返回一个 我有一个利用多个底层存储库的编排服务 每个存储库都可以传回一个错误 然而 这些错误类没有共同的祖先 例如
  • Windows批量编程中读取文件名

    我想在Windows批处理编程中读取文件的名称 我尝试使用不同的方法但失败了请帮助 下面给出了场景 我的文件夹中有不同的文件 但所有文件的文件名长度相同 例如 1000342578 30062011 PDF 1000342329 30062
  • 在单词后获取文本——R Webscraping

    几周前 这里有人帮助我极大地获得了名人数据库中所有链接的列表 我能够运行此代码并获得以下输出 library purrr library rvest url base lt https www nndb com lists 494 0000
  • MultipartEntity 类型已弃用

    文档说org apache http entity mime MultipartEntity http hc apache org httpcomponents client ga httpmime apidocs org apache h
  • 如何用 Java 为 2D 游戏构建 Tiled 地图?

    不知道如何解决这个问题 基本上 我想要 400x400 窗口的 Pixel gt Tile 表示 屏幕上的每个坐标 例如120x300应该是图块的一部分 我最小的精灵是 4 个像素 所以我们可以说 1 个图块 4 个像素 玩家和敌人精灵都是
  • 如何设置PS1使git和conda都可以在bash中显示?

    我的 bashrc show a short way shortwd num dirs 3 pwd symbol newPWD PWD HOME if echo n newPWD awk F print NF gt num dirs the
  • 如何移动 UITextField 中的清除按钮?

    由于某种原因 当我添加 UITextfield 作为表格单元格内容视图的子视图时 清除按钮与字段中键入的文本不对齐 并且出现在其下方 有什么方法可以移动清除按钮的文本来阻止这种情况发生吗 谢谢你的帮助 正如 Luda 所说 正确的方法是子类
  • 找不到满足 pkg-resources==0.0.0 要求的版本

    我的应用程序部署在heroku 当我通过推送我的代码时git push heroku master 它给了我这个错误 Collecting pkg resources 0 0 0 from r requirements txt line 1
  • 如何从 InputStream 读取一行而不缓冲输入? [复制]

    这个问题在这里已经有答案了 我有一个输入流 其中包含一行字符串 然后是二进制数据 如果我使用读取该行new BufferedReader new InputStreamReader inputStream 二进制数据也正在被读取并且不能被重
  • 如何将 Ctrl+,(control 加逗号)指定为 WPF 菜单项的键盘快捷键?

    Question I would like to assign the keyboard shortcut Ctrl control plus comma to the Preferences menu item How do I do t
  • 证明:为什么 java.lang.String.hashCode() 的实现与其文档相符?

    JDK 文档为java lang String hashCode http java sun com javase 6 docs api java lang String html hashCode famously https stack
  • OSGI Felix 容器正在初始化模拟私有字段

    我试图模拟我的类中的一个私有字段 该字段由运行我的应用程序的 OSGI 容器初始化 我放了一个示例代码供参考 请提供任何线索 import org apache felix scr annotations Component name My
  • 重新渲染模板时的 Meteor 回调

    我目前有一个模板 其中包含 each 在其中循环 我正在尝试找到一种方法来触发特定功能 each 循环已完成 Template rendered仅在第一次渲染模板时运行 因此不幸的是 这不起作用 有什么可以做到这一点吗 我就是这样做的 Te