{{#each}} 内的车把表达式

Handlebars expression inside {{#each}}

我正在构建我的下一个投资组合网站。如何将把手表达式放在 #each 循环中?这是一个由 express-generator 生成的 express 应用程序。我正在使用 express-handlebars NPM 包:

views/home.hbs:

{{#each images}}
  <li><img src="{{imagesFolder}}{{this}}.jpg" alt=""></li>
{{/each}}

routes/home.js:

'use strict';

var express = require('express'),
    router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('home', {
    layout: 'main',
    centering: true,
    titleShown: false,
    title: 'Hi!',
    description: 'Home page',
    keywords: 'wedding,photography,film',
    bodyClass: 'horizontal',
    imagesFolder: '\/portfolio\/weddings\/',
    images: [
      'image-1',
      'image-2',
      'image-3'
    ]
  });
});

module.exports = router;

应该return:

<li><img src="/portfolio/weddings/image-1.jpg" alt=""></li>
<li><img src="/portfolio/weddings/image-2.jpg" alt=""></li>
<li><img src="/portfolio/weddings/image-3.jpg" alt=""></li>

但它是什么 returning:

<li><img src="image-1.jpg" alt=""></li>
<li><img src="image-2.jpg" alt=""></li>
<li><img src="image-3.jpg" alt=""></li>

工作正常,直到我将 /portfolio/weddings/ 文件夹结构从 .hbs 文件移动到路由器中。

回购:https://github.com/DJviolin/horgalleryNode

您需要访问 parent 的 属性 imagesFolder:

{{#each images}}
  <li><img src="{{../imagesFolder}}{{this}}.jpg" alt=""></li>
{{/each}}