繁体   English   中英

带有后端的动态车把主模板

[英]Dynamic Handlebars Master Template with Backend

在我的快递应用中使用 HBS 作为模板引擎。 尝试在动态页面(详细信息页面)中显示标题时会出现此问题。

我的控制器

exports.getProduct = (req, res, next) => {
    var prodId = req.params.productId;
    Product.findById(prodId)
    .then(([product]) => {
        res.render('shop/product-detail', { 
            product: product[0], 
            title: product.title 
        });
    })
    .catch(err => console.log(err));
};

我的布局

<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

    <title>{{{ title }}}</title>
  </head>

我的看法


<div class="container">

<div class="card-deck">
  <div class="card">
    <img src="{{product.imageUrl}}" class="card-img-top" alt="...">
    <div class="card-body">
      <h5 class="card-title">{{product.title}}</h5>
      <p class="card-text">{{product.description}}</p>
      <p class="card-text"><small class="text-muted">Rp {{product.price}}</small></p>
      <form action="/add-to-cart" method="POST">
        <button type="submit" class="btn btn-outline-primary btn-block">Add to Cart</button>
        <input type="hidden" name="productId" value="{{product.id}}">
      </form>
    </div>
  </div>
</div>

</div>

鉴于产品标题工作正常。 但是在主模板(layout)中没有显示出来。

服务器端: title: product[0].title

前端将<title>{{{ title }}}</title>替换为

<title>{{ title }}</title>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM