把手不会呈现HTML图像标签? (使用NodeJS)

时间:2018-12-17 03:17:36

标签: javascript html node.js handlebars.js

我正在尝试渲染带有把手的HTML图像标签。 HTML确实可以正确传递到车把。 (因此不会传递到网页,但不会呈现图像。)如何解决此问题?

在我的.HBS文件中,我有:

{{HTMLforImage}} {{image}} {{alt}}

在我的.js文件中,我有:

  res.render('imageHub', {
  HTMLforImage: "<img src = ",
  image: "\"" + req.body.imageLink + "\"",
  alt: " alt = \"raccoon\">"
});

其中imageHub是页面把手应呈现HTML,但是我没有将图片发布,而是将HTML传递到了网页上。关于如何解决此问题的任何想法将不胜感激。

2 个答案:

答案 0 :(得分:1)

{{HTMLforImage}}将转义标记。尝试三括号:{{{HTMLforImage}}}

答案 1 :(得分:0)

使用三括号来转义HTML特殊字符,例如<>字符:

{{HTMLforImage}} {{image}} {{alt}}

您也有<image ...,但应该是<img ...

最佳做法是将车把的内容更改为:

<img src="{{imageLink}}" alt="{{alt}}" />

并仅传递所需的数据,如下所示:

res.render('imageHub', {
  imageLink: req.body.imageLink,
  alt: 'raccoon'
})