【发布时间】:2021-10-30 13:48:29
【问题描述】:
我有一个要在 JSRender 中呈现的对象。除了对我拥有的嵌套对象的评估之外,几乎所有东西都可以工作。
"traits": {
"admin": true,
"editor": true,
"writer": true
}
它是我要发送到模板的较大对象的一部分。
我一直在尝试让 JSRender 根据特征在名称旁边显示一个图标。
{{if traits.admin}}
<div class="icon iconadmin"></div>
{{/if}}
{{if traits.editor}}
<div class="icon iconeditor"></div>
{{/if}}
{{if traits.writer}}
<div class='icon iconwriter'></div>
{{/if}}
我尝试过使用{{if}} {{else }} 结构和{{for}} 循环,但在每种情况下,模板都只呈现用户在其特征对象中的第一个图标。
如果我切换代码,它将成功显示,例如,如果我移动测试以首先评估编辑器,则编辑器图标。
是我使用对象的问题吗?
【问题讨论】:
-
该代码基本上没有问题。如果您将这三个
<div>标记放在模板中,根本没有任何 if,您会看到所有三个图标吗? -
我明天试试
-
因此,如果我将 div 从条件中拉出,它们都会出现,但在条件块内只会出现第一个。
-
如果我将代码更改为使用对象
traits之外的键/值对,它也不起作用