【问题标题】:Handlebars expression inside {{#each}}{{#each}} 内的车把表达式
【发布时间】:2016-02-08 16:32:30
【问题描述】:

我正在构建我的下一个投资组合网站。如何将把手表达式放在#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;

应该返回什么:

<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>

但它返回的是什么:

<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

【问题讨论】:

    标签: javascript node.js express handlebars.js


    【解决方案1】:

    您需要访问父母的财产imagesFolder

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

    【讨论】:

    • 谢谢!完美运行!
    猜你喜欢
    • 2015-06-06
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 1970-01-01
    • 2021-09-30
    • 2016-01-10
    • 1970-01-01
    相关资源
    最近更新 更多