grunt-assemble with handlebars:如何将数组变成部分数组?
grunt-assemble with handlebars: how to get an array into a partial?
我想用 grunt-assemble 静态站点生成,一切正常,但我无法将数组放入部分
这是我的部分(图像-slider.hbs),它应该接收数组
<div class="swiper-container {{className}}">
<div class="swiper-wrapper">
{{#each images}}
<img class="swiper-slide" src="{{ ../path }}/{{image}}" alt="">
{{/each}}
</div>
</div>
我想从这个部分(office-slider.hbs)发送数据
...
<h1>images from the office</h1>
{{> image-slider
className='office-slider'
path='..img'
images=[
"image": "t_1.jpg",
"image": "t_2.jpg",
"image": "t_3.jpg",
"image": "t_1.jpg",
"image": "t_2.jpg",
"image": "t_3.jpg",
]
}}
...
office-slider.hbs 已包含 office.hbs
...
{{>office-slider}}
...
"className" 和 "path" 工作正常,但如果我尝试将数组作为数据,我只会得到一个错误
警告:意外的令牌非法使用 --force 继续。
由于警告而中止。
我做错了什么?
格雷戈尔
根据@dandavis 的建议,我将数据从模板中分离出来,这就是它的工作原理
我的 grunt 文件
assemble: {
options: {
partials: ['partials/**/*.hbs'],
layoutdir: 'layouts',
layout: ['default.hbs'],
flatten: true,
data: ['pages/**/*.json'], <--load all jsons (contains the data)
helpers: ['js/helper-*.js']
},
site: {
src: ['pages/**/*.hbs'],
dest: 'build/pages/'
}
}
创建 home.json(在我的例子中,它位于 home.hbs 旁边的目录 "pages/home/" 中)
{
"title": "pagetitle",
"gallery1": ["item1.jpg", "item2.jpg","item3.jpg"]
}
在我的 home.hbs 中,我使用来自 home.json
的数据加载部分
{{home.title}}
{{>image_bar data=home.gallery1}}
现在我可以完全访问我的部分数据 (image_bar.hbs)
<ul>
{{#each data}}
<li><img src="../img/{{this}}"></li >
{{/each}}
</ul>
我想用 grunt-assemble 静态站点生成,一切正常,但我无法将数组放入部分
这是我的部分(图像-slider.hbs),它应该接收数组
<div class="swiper-container {{className}}">
<div class="swiper-wrapper">
{{#each images}}
<img class="swiper-slide" src="{{ ../path }}/{{image}}" alt="">
{{/each}}
</div>
</div>
我想从这个部分(office-slider.hbs)发送数据
...
<h1>images from the office</h1>
{{> image-slider
className='office-slider'
path='..img'
images=[
"image": "t_1.jpg",
"image": "t_2.jpg",
"image": "t_3.jpg",
"image": "t_1.jpg",
"image": "t_2.jpg",
"image": "t_3.jpg",
]
}}
...
office-slider.hbs 已包含 office.hbs
...
{{>office-slider}}
...
"className" 和 "path" 工作正常,但如果我尝试将数组作为数据,我只会得到一个错误
警告:意外的令牌非法使用 --force 继续。 由于警告而中止。
我做错了什么?
格雷戈尔
根据@dandavis 的建议,我将数据从模板中分离出来,这就是它的工作原理
我的 grunt 文件
assemble: {
options: {
partials: ['partials/**/*.hbs'],
layoutdir: 'layouts',
layout: ['default.hbs'],
flatten: true,
data: ['pages/**/*.json'], <--load all jsons (contains the data)
helpers: ['js/helper-*.js']
},
site: {
src: ['pages/**/*.hbs'],
dest: 'build/pages/'
}
}
创建 home.json(在我的例子中,它位于 home.hbs 旁边的目录 "pages/home/" 中)
{
"title": "pagetitle",
"gallery1": ["item1.jpg", "item2.jpg","item3.jpg"]
}
在我的 home.hbs 中,我使用来自 home.json
的数据加载部分{{home.title}}
{{>image_bar data=home.gallery1}}
现在我可以完全访问我的部分数据 (image_bar.hbs)
<ul>
{{#each data}}
<li><img src="../img/{{this}}"></li >
{{/each}}
</ul>