在 Meteor 0.8 中定义迭代块助手

2024-03-30

直到版本 0.8 为止,可以使用常规的 Handlebars 方式来定义迭代块助手,例如流行的each_with_key,定义,例如,here https://gist.github.com/strathmeyer/1371586如下:

Handlebars.registerHelper("each_with_key", function(obj, fn) {
    var context,
        buffer = "",
        key,
        keyName = fn.hash.key;

    for (key in obj) {
        if (obj.hasOwnProperty(key)) {
            context = obj[key];

            if (keyName) {
                context[keyName] = key;
            }

            buffer += fn(context);
        }
    }

    return buffer;
});

这在 0.8 中不再有效,而且迁移指南 https://github.com/meteor/meteor/wiki/Using-Blaze#new-pattern-for-defining-custom-block-helpers也不空格键文档 https://github.com/meteor/meteor/blob/devel/packages/spacebars/README.md#custom-block-helpers举个例子。

鉴于块助手现在被视为包含项,并且包含项需要返回模板(或 null),而不是 HTML,我对此时是否以及如何实现这一点一无所知。


就在我快要放弃的时候,我想通了。事实上,现在 0.8 比以前更容易、更漂亮。以下似乎效果很好:

JS:

UI.registerHelper('addKeys', function (all) {
    return _.map(all, function(i, k) {
        return {key: k, value: i};
    });
});

HTML:

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

在 Meteor 0.8 中定义迭代块助手 的相关文章

随机推荐

  • iOS 应用程序仅在未调试时崩溃

    我正在使用 testflight 来测试我的应用程序 并且只有当应用程序是为临时构建并通过测试飞行分发时才会发生崩溃 相关崩溃报告详细信息如下 Date Time 2012 06 11 09 00 34 638 0800 OS Versio
  • PowerShell:如何设置文化?

    我尝试过了Set Culture CultureInfo vi VN但Powershell并没有改变我设定的文化 我通过打开Powershell ISE进行测试 看到我设置的文化已成功更改 如何使用 Powershell 更改我设定的文化
  • C# .net 相当于 HTTP_RAW_POST_DATA?

    想要在 C 中模仿 php 代码 我想捕获从以下 Flash Actionscript 发布的原始图像数据 function onSaveJPG e Event void var myEncoder JPGEncoder new JPGEn
  • PyMongo 不会迭代集合

    我在 Python PyMongo 中有奇怪的行为 dbh self connection test first dbh test 1 second dbh test 2 first collection records first fin
  • 如何将 C++ 程序连接到 WCF 服务?

    在我工作的地方 有一些用 C 编写的软件 还有一些用 C 编写的软件 最重要的 不久前 我们认为通过 Web 服务发送堆栈跟踪和异常信息来跟踪软件中任何可能的问题是一个好主意 因此 我使用了 WCF 服务 它获取信息并将其存储在数据库中并自
  • WCF 是否支持点对点实现?

    我正在尝试在 LAN 内实现点对点消息传递和文件共享实用程序 那么 WCF 支持 p2p 吗 有人尝试过通过 WCF 进行文件共享吗 是的 它确实 请参见如何在对等网络中设计状态共享 http msdn microsoft com en u
  • 在 Tensorflow 中检索 LSTM 序列的最后一个值

    我有不同长度的序列 想在 Tensorflow 中使用 LSTM 进行分类 对于分类 我只需要每个序列最后一个时间步长的 LSTM 输出 max length 10 n dims 2 layer units 5 input tf place
  • 如何实现widget在垂直(高度)和水平(宽度)方向上的扩展

    下面的代码列出了一个图表 我需要在其中实现图表在垂直 高度 和水平 宽度 方向上的扩展 建议的方法 例如https docs flutter io flutter widgets Row class html https docs flut
  • PostgreSQL 只支持 STORED 生成列吗? [复制]

    这个问题在这里已经有答案了 前言 我给出了一些 PHP 示例 只是为了指出我的开发环境 问题不在于 PHP 而纯粹在于 PostgreSQL PostgreSQL有关生成列的文档 https www postgresql org docs
  • 直接从 iPhone 向在线服务器执行 SQL 查询

    我是一个新手 倾向于做一些简单的iOS应用程序 该任务是制作一个应用程序 为一个人进行注册 然后将该数据上传到在线服务器 详细一点 我想insert delete update数据直接传输到在线服务器 有人能告诉我我需要做什么 工具 库 吗
  • 无法在具有 CORS 的 AWS API Gateway 上使用自定义请求标头

    我创建并部署了具有以下结构的 AWS API Gateway 资源 其中包括自定义 HTTP 请求标头 X header dev stage echo resource POST method Method Request Headers
  • 为 Cocoa 寻找类似电子表格的控件

    我正在寻找 Cocoa 的网格视图 表格视图 电子表格类型控件 但似乎找不到任何处于任何合理状态的东西 我尝试过使用 NSTableView 但它并不是真正的单个单元格控件 NSCollectionView 似乎也不对 有任何想法吗 而马特
  • 可以使用 Azure Powershell 创建应用服务计划吗?

    正如标题所说 我需要以编程方式创建应用程序服务计划 场景 将创建 N 个 azure 网站 动态地 也使用 azure powershell 如果有一天高级应用服务计划无法处理网站数量 即使通过 CPU 使用情况自动缩放 则必须创建另一个服
  • 如何使用 PHP 在点击时自动填充其他表单字段

    我现在有一个简单的表格
  • 如何使用 fetch 和 FormData 发送二进制数据 (blob)?

    以下代码按预期工作 在 Google Chrome 上打开页面 https wiki epfl ch 然后在开发者控制台上执行此代码 注意 页面 https wiki epfl ch test php 不存在 因此无法加载 但这不是问题 r
  • 在Unity中如何使两个精灵的重叠区域透明?

    在Unity中如何使两个精灵的重叠区域透明 你能写一个关于它的着色器吗 经过一些研究 我了解到我应该使用模板缓冲区 但我不知道如何使用 这对我来说至关重要 我必须在 6 天内完成这个学校项目 请帮忙 示例图片 就这样 请记住这是我第一次使用
  • 如何从 Spark DataFrame 中删除列表中给出的多个列名称?

    我有一个基于 n 值创建的动态列表 n 3 drop lst a str i for i in range n df drop drop lst 但上面的方法不起作用 Note 我的用例需要一个动态列表 如果我只执行以下操作而不列出它就可以
  • SpriteKit SKPhysicsBody 在一个方向上的碰撞就像一扇只能穿过不能返回的门

    在 SpriteKit SKPhysicsBody 中 是否可以有一个可以穿过但不能返回的对象 这个想法是 它们不会在一个方向上发生碰撞 因此你可以穿过而不会返回 就像活板门一样 我不太确定物理是否可行 但您应该能够在游戏运行时扰乱物理体的
  • asp.net mvc 保持对象活动,信息

    我有这个代码 HttpPost public ActionResult Index LoginModel loginModel if ModelState IsValid some lines of code bla bla bla Tem
  • 在 Meteor 0.8 中定义迭代块助手

    直到版本 0 8 为止 可以使用常规的 Handlebars 方式来定义迭代块助手 例如流行的each with key 定义 例如 here https gist github com strathmeyer 1371586如下 Hand