2014-10-07 22 views
1

我有一个现有的应用程序,它使用Mustache.js进行模板化,我需要有条件地渲染来自服务器的阵列数据(json)的列表。胡子可以吗?小胡子 - 有条件地渲染阵列数据列表

一些示例数据:

"Preferences": ["pref-red", "pref-blue"] 

很容易输出通过:

<ul class="plain"> 
    {{#Preferences}} 
    <li>{{.}}</li> 
    {{/Preferences}} 
</ul> 

但我真正想要做的是有条件地呈现静态列表的适当部位,不管以何种喜好数据回来了。一些非常愚蠢的伪代码:

<ul class="plain"> 
    {{#Preferences}} 
     {{if pref-red}}<li class="icon red bell">Red</li>{{/if}} 
     {{if pref-green}}<li class="icon green car">Green</li>{{/if}} 
     {{if pref-blue}}<li class="icon blue cat">Blue</li>{{/if}} 
     {{if pref-yellow}}<li class="icon yellow flower">Yellow</li>{{/if}} 
     {{if pref-purple}}<li class="icon purple house">Purple</li>{{/if}} 
    {{/Preferences}} 
</ul> 

将要在浏览器作为这种情况下的输出:

<ul class="plain"> 
    <li class="icon red bell">Red</li> 
    <li class="icon blue cat">Blue</li> 
</ul> 

我知道小胡子没有,如果条件,但可在本小胡子能实现吗?如果可能的话,我想尽可能保留胡须(减少,重用,回收)。

回答

0

不,这不可能通过Mustache与原始数据一样实现。

你两个选择:

  • 变换输入数据,以便它可以通过胡须呈现。
  • 更改渲染引擎。你自己添加了handlebars.js标签到你的问题:你已经有了答案。