我正在使用Kraken.js,灰尘,猫鼬。我使用mongoose从MongoDB获得以下对象。
artist = {
"_id" : ObjectId("xxxxxxxx"),
"first_name" : "myName",
"last_name" : "myLastname",
"description" : "Sample Description here",
"thumbnail" : "thumbnail.jpg",
"works" : [
"art1.jpg",
"art2.jpg"
]
}
我发送到模板的整个模型的名称是艺术家(单数)。
我想为image
的每个成员生成works
标记。
<img src="art1.jpg" />
<img src="art2.jpg" />
我尝试过以下代码段并且无效
{#.}
<img src="./../../images/artists/{.works}" alt="" />
{/.}
{#artist.works}
<img src="./../../images/artists/{.works}" alt="" />
{/.artist.works}
并打印&#34; &#34;
真正感谢您的帮助
答案 0 :(得分:1)
<强> TL / DR 强>
artist
对象,则只需要迭代works
对象。artist
对象的对象,则需要使用artist.works
进行迭代。这是您的示例的工作版本。
var data = {
"artist": {
"first_name": "myName",
"last_name": "myLastname",
"description": "Sample Description here",
"thumbnail": "thumbnail.jpg",
"works": [
"art1.jpg",
"art2.jpg"
]
}
};
var compiled = dust.compile('<ul>{#artist.works}<li><a href="{.}" >{.}</a></li>{/artist.works}</ul>', 'hello');
// Register the template with Dust
dust.loadSource(compiled);
// Render the template
dust.render('hello', data, function(err, out) {
// `out` contains the rendered output.
document.getElementById('output').innerHTML = out;
});
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/dustjs-linkedin/2.7.5/dust-full.js"></script>
<div id="output" />
&#13;