Javascript 车把添加类
我有以下建议:Javascript 车把添加类,javascript,handlebars.js,Javascript,Handlebars.js,我有以下建议: "daysRange": { "status": "UNSPECIFIED/ALL/SPECIFIED", "available": [ { "id": "1", "name": "MONDAY" }, { "id": "2", "name": "TUESDAY" }, { "id": "3", "name"
"daysRange": {
"status": "UNSPECIFIED/ALL/SPECIFIED",
"available": [
{
"id": "1",
"name": "MONDAY"
},
{
"id": "2",
"name": "TUESDAY"
},
{
"id": "3",
"name": "WEDNESDAY"
},
{
"id": "4",
"name": "THURSDAY"
},
{
"id": "5",
"name": "FRIDAY"
},
{
"id": "6",
"name": "SATURDAY"
},
{
"id": "7",
"name": "SUNDAY"
}
],
"selected": [
{
"id": "2",
"name": "TUESDAY"
}
]
}
我用这样的把手来生成李的:
<ul class="available">
{{#each daysRange.available}}
<li data-id="{{this.id}}">{{this.name}}</li>
{{/each}}
</ul>
{{{#每天范围.available}
- {{this.name}
{{/每个}}
问题:如何将所选课程添加到所选日期?我希望有人能对此有所了解。您需要在数据进入模板之前对其进行处理。在
可用
列表中标记所选
日期,以便在迭代期间进行测试
可用
列表,并将ID与所选
中的元素进行比较if (available[i].id === selected[j].id)
available[i].selected = true;`
您也可以使用自定义帮助器执行此操作,但对我来说,这似乎比仅更正数据更麻烦:
Handlebars.registerHelper('isSelected', function(selected, options) {
var ret = "";
if (this.id === selected[0].id) {
ret = "selected";
}
return options.fn(ret);
});
然后在模板中
<ul class="available">
{{#each daysRange.available}}
<li data-id="{{this.id}}" class="{{#isSelected ../daysRange.selected}}{{this}}{{/isSelected}}">{{this.name}}</li>
{{/each}}
</ul>
{{{#每天范围.available}
- {{{this.name}
{{/每个}}
请您详细说明,可能至少是一些伪代码?谢谢,我将使用第一种方法。你确定帮手能行吗?如果(this.id==selected[0].id)我不确定你会有多少选择,所以我只抓到了第一个。虽然循环很简单;我相信你能解决的。