我想添加一个data-attribute
列表项目的基础上,如果它显示的对象包含某个子节点。Handlebars.js:构造查看对象节点是否包含子对象?
我期待检查的子节点是source.menu.[0].menu.menu.text
(设计糟糕的,我知道)
防爆HTML:
{{#each source.menu.[0].menu}}
<ul class='list-{{@index}}'>
{{#each menu}}
<li data-contains='{{source.menu.[0].menu.menu has text == 'yes'}}'>{{text}}</li>
{{/each}}
</ul>
{{/each}}
防爆对象:
{
"menu":
[
{
"text": "Soil",
"menu" :[
{
"text": "Clogs",
"menu":[
{"text":"Product A", "link": "/url/to/product/a"},
{"text":"Product B", "link": "/url/to/product/b"},
{"text":"Product G", "link": "/url/to/product/b"}
]
},
{
"text": "Drain",
"menu":[
{"text":"Product C", "link": "/url/to/product/c"},
{"text":"Product D", "link": "/url/to/product/d"}
]
},
{
"text": "Appliances",
"menu":[
{
"text": "Microwave",
"menu":[
{"text":"Product E", "link": "/url/to/product/e"},
{"text":"Product D", "link": "/url/to/product/d"}
]
},
{
"text": "Stove",
"menu":[
{"text":"Product H", "link": "/url/to/product/e"},
{"text":"Product I", "link": "/url/to/product/d"}
]
}
]
}
]
},
{
"text": "Surface",
"menu" :[
{
"text": "Wood",
"menu" :[
{"text":"Product A", "link": "/url/to/product/a"},
{"text":"Product B", "link": "/url/to/product/b"}
]
},
{
"text": "Granite",
"menu" :[
{"text":"Product C", "link": "/url/to/product/c"},
{"text":"Product D", "link": "/url/to/product/d"}
]
},
{
"text": "Appliances",
"menu" :[
{
"text": "Microwave",
"menu" :[
{"text":"Product E", "link": "/url/to/product/e"},
{"text":"Product D", "link": "/url/to/product/d"}
]
},
{
"text": "Stove",
"menu" :[
{"text":"Product E", "link": "/url/to/product/e"},
{"text":"Product D", "link": "/url/to/product/d"}
]
}
]
}
]
}
]
}
为清晰起见添加了该对象。
谢谢!
你可以给我们一个示例上下文对象,因为我认为你的模板也可能有其他一些问题 – megawac
Addded the object!我正在使用source.menu。[0]因为我有两个独立的车把模板,并一次渲染一个(Soil and Surface) –
因此,您试图验证子菜单,例如'“菜单”:[ {“text”:“Product E “,”link“:”/ url/to/product/e“} ]'有一个带有prop文本的孩子? – megawac