gpt4 book ai didi

javascript - 灰尘迭代数组

转载 作者:行者123 更新时间:2023-12-03 01:39:48 24 4
gpt4 key购买 nike

我正在使用 Kraken.js、dust、mongoose。我有以下对象,是通过 mongoose 从 MongoDB 获取的。

artist = {
"_id" : ObjectId("xxxxxxxx"),
"first_name" : "myName",
"last_name" : "myLastname",
"description" : "Sample Description here",
"thumbnail" : "thumbnail.jpg",
"works" : [
"art1.jpg",
"art2.jpg"
]
}

我发送到模板的整个模型的名称是艺术家(单数)。

我想为works的每个成员生成image标签。

<img src="art1.jpg" />
<img src="art2.jpg" />

我尝试过以下代码片段,但不起作用

{#.}
<img src="./../../images/artists/{.works}" alt="" />
{/.}

{#artist.works}
<img src="./../../images/artists/{.works}" alt="" />
{/.artist.works}

它打印“”

衷心感谢您的帮助

最佳答案

TL/DR:

  1. 如果传递的上下文是 artist 对象,那么您只需迭代 works 对象。
  2. 如果传递的上下文是包含 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;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/dustjs-linkedin/2.7.5/dust-full.js"></script>

<div id="output" />

关于javascript - 灰尘迭代数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50902752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com