【问题标题】:How can I use nested structures in meteor spacebars?如何在流星空格键中使用嵌套结构?
【发布时间】:2016-01-26 03:08:04
【问题描述】:

在以下示例中,我在客户端的 lib 文件夹中的 utils.js 文件中注册了一个帮助程序“currentUser”。如果条件满足,我正在尝试将消息右对齐或左对齐。

<template name="chatMessages">
{{#each chatMessages}}
    {{#if currentUser {{email}}}}
        <b style="float:right;">{{message}}</b>
        <br>
    {{else}}
        <b style="float:left;">{{message}}</b>
        <br>
    {{/if}}
{{/each}}

帮助代码是:

Template.registerHelper("currentUser", function(input) {
    return Session.get("userMail") === input;
});

【问题讨论】:

  • 您看到了什么错误?另外,助手返回的变量类型是什么?它是一个对象吗?
  • 我收到了一个错误,如预期的标识符、数字、字符串、布尔值、null 或包含在 "("、")" 中的子表达式 ... {{#if currentUser {{email} }}},并且助手正在返回一个对象数组。但是下面的答案解决了这个问题,谢谢:)

标签: javascript html css meteor


【解决方案1】:

不要将参数放在花括号内的辅助函数中,即,而不是:

  {{#if currentUser {{email}}}}

使用

  {{#if currentUser email}}

假设变量email定义在助手的数据范围内! (你没有展示那部分)。

【讨论】: