gpt4 book ai didi

javascript - Jade 条件语句呈现为纯文本

转载 作者:太空宇宙 更新时间:2023-11-04 00:41:31 24 4
gpt4 key购买 nike

我正在尝试有条件地渲染我的 <head> 中的一些标签

代码如下:

<!doctype html>
<html ng-app='nodeApp'>

<head>
if (title)
<title>#{title}</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="UTF-8">
<meta name='author' content='#{author}'>
<meta name='og:title' content='#{title}'>
<meta name='description' content='#{description}'>
<meta name='og:description' content='#{description}'>
<meta name='og:image' content='#{image}'>
<meta name="theme-color" content="#3F51B5">
<!-- CSS files are inserted here -->
<link rel="stylesheet" href="/static/client.css" type="text/css">
</head>

当我转到我的页面时,文本“if(标题)”会以纯文本形式呈现在页面顶部。所有条件都会发生这种情况。但是,标题标签会使用正确的文本呈现。

我也尝试过

if title
<title>#{title}</title>

if (title) {
<title>#{title}</title>
}

在我的后端我有(整个类(class))..

const jade = require('jade');
this.locals = {
title: process.env.sitename
};
this.header = jade.render(this.header, this.locals);

因此,站点名称会正确返回,因为标题已填充,但 if 语句不执行任何操作,只是呈现为纯文本。想法?

最佳答案

我认为问题可能在于你将常规 html 与 jade 混合在一起编写。由于您使用常规 html 标签编写,因此 if 语句已经是一个子项。但如果你也使用缩进,它就会变成一种双重缩进,而 Jade 就会感到困惑。尝试在 if 语句之前不缩进:

<head>
if (title)
<title>#{title}</title>

或者更好。始终如一地使用 Jade。

关于javascript - Jade 条件语句呈现为纯文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36523385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com